Curl не отправляет на локальный сервер

Я использую ниже код для получения пользовательских данных, но не знаю, почему он говорит о недопустимой ошибке токена, пока я использую тот же код на другом сервере и его работоспособность. Я проверил, что CURL включен в моей системе. Вы можете увидеть рабочий пример с приведенным ниже кодом на http://specificpromotions.com/test/test.php. Что может быть проблема, пожалуйста, помогите мне. Ваша помощь будет оценена по достоинству. спасибо

$ch = curl_init();
//you will need to change the 'eric' to what the user is searching for in the manual entry section
$data = array('qFunc' => 'searchActiveStaff', 'qArgs' => 'eric');

curl_setopt($ch,CURLOPT_URL,'http://api.yfcimpact.com/yfc_dev.php/api/usa/person?' . http_build_query($data) );
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch, CURLOPT_USERPWD, "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJob3N0IjoiMTIwLjU5LjE1OS4yMzIiLCJ1c2VybmFtZSI6InJzbWl0aHR5MyIsImlkIjoxMDAwNTQwMjcwLCJpYXQiOjE0MzI4Nzk0NjQsImV4cCI6MTQzMjkwMTA2NCwicm9sZXMiOlsiUk9MRV9VU0VSIiwiUk9MRV9zZXR0aW5ncyIsIlJPTEVfcGVvcGxlIiwiUk9MRV9wZW9wbGVfYWRkX25ldyIsIlJPTEVfcGVvcGxlX2VkaXQiLCJST0xFX3BlcnNvbl9lZGl0X3Blcm1pc3Npb24iLCJST0xFX3NldHRpbmdzX3Blcm1pc3Npb25zIiwiUk9MRV9zZXR0aW5nc19jdXN0b21fZmllbGRzIiwiUk9MRV9vZmZpY2UiLCJST0xFX3NldHRpbmdzX21pbmlzdHJ5X3NpdGVzIiwiUk9MRV9zZXR0aW5nc19taW5pc3RyeV9zaXRlc19hZGQiLCJST0xFX3NldHRpbmdzX2xlZ2FsIiwiUk9MRV9wZW9wbGVfZWRpdF9saXN0IiwiUk9MRV9vZmZpY2VfZmluYW5jaWFsIiwiUk9MRV9vZmZpY2VfYnVkZ2V0X3BsYW4iLCJST0xFX29mZmljZV9taW5zdGF0cyIsIlJPTEVfc2V0dGluZ3NfZmllbGRfbGFiZWxzIiwiUk9MRV9vZmZpY2VfYmdjaGVjayIsIlJPTEVfb2ZmaWNlX3ZlaGljbGUiLCJST0xFX29mZmljZV93b3JrZXJzY29tcCIsIlJPTEVfc2V0dGluZ3NfY3VzdG9tX2ZpZWxkX2dyb3VwcyIsIlJPTEVfc2V0dGluZ3NfdGV4dCIsIlJPTEVfc2V0dGluZ3NfZW1haWwiLCJST0xFX29mZmljZV9jaGFydGVyaW5nIiwiUk9MRV9ldmVudHMiLCJST0xFX3NldHRpbmdfY3VzdG9tcXVlc3Rpb25zIl0sImZ1bGxOYW1lIjoiUm9nZXIgU21pdGgiLCJjb3JlT3JnSWQiOiI0MjcifQ.V9B-TE_72D0YYE5FAHPB_pkYGhkAGiHRQzZjTEb0Jag:" );

$json = curl_exec($ch);
$people = json_decode($json);

print "people who have eric in their name:\n";
var_export($people);

Ответ 1

Сначала проверьте, разрешен ли завиток в вашей системе или сервере. Вы можете проверить это, используя простую страницу с этим кодом.

<?php 
 phpinfo();
?>

Если завиток включен, он покажет его. Если это не разрешено, включите его. Вы можете проверить эту ссылку для этого.

Затем проверьте наличие ошибок завивки и очистите его. Просто добавьте этот код после curl_exec ($ ch);

    $ch = curl_init();
    $data = array('qFunc' => 'searchActiveStaff', 'qArgs' => 'eric');
    curl_setopt($ch,CURLOPT_URL,'http://api.yfcimpact.com/yfc_dev.php/api/usa/person?' . http_build_query($data) );
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    curl_setopt($ch, CURLOPT_USERPWD, "ag:" );    
    if(curl_exec($ch) === false)
{
    echo 'Error Details: ' . curl_error($ch);
}
else
{
    echo 'Success';
}

Ответ 2

В некоторых API (например, API Facebook) вы регистрируете приложение, так что каждый токен связан с определенным доменом. Таким образом, в случае, если используемый вами API имеет ту же логику, используемый токен связан с доменом вашего сервера (specificpromotions.com), так что, чтобы использовать его с другого сервера (он же другой домен), вы будете должны использовать отдельный токен.

Однако я попытался выполнить ваш script, и у меня не было проблем с извлечением данных из api в точно таком же формате вашей ссылки.

Таким образом, нет надежной привязки домена в системе аутентификации API. Итак, я думаю, вам нужно будет проверить свою системную конфигурацию, чтобы найти причину, по которой завиток не работает.