Я пытаюсь использовать cURL POST для получения некоторых данных из конечной точки:
Вот что говорится в документации для аутентификации и получения данных:
«…использует комбинацию грантов OAuth2 и токенов JWT.
Для авторизации используйте этот код:
curl -X POST \
'http://api.example.com/v1/api/auth/login?grant_type=client_id' \
-H 'Authorization: Basic cHVibGljX2tleTpwddl2YXRJX2xleQzd'
"
Основываясь на приведенной выше информации, я построил этот код для запроса:
$handle = curl_init('http://api.example.com/v1/api/auth/login?
grant_type=client_id');
$header = array();
$header[] = 'Content-Type: application/json';
$header[] = 'Authorization: Basic DdJfd1Bxx2NxMkYwNjzzdl9mejJZIFKVQlBc';
curl_setopt($handle, CURLOPT_POST, true);
curl_setopt($handle, CURLOPT_POSTFIELDS, $header);
$resp = curl_exec($handle);
var_dump($resp);
Когда я выполняю код, он запускается в бесконечном цикле и в конечном итоге истекает.
Правилен ли формат кода или это проблема с предоставленным ключом авторизации? Ключ представляет собой представление Base64.
Спасибо!
ОБНОВЛЕНИЕ: я также пробовал следующее:
$header[] = 'Content-Type: application/json';
$header[] = 'Authorization: Basic adfsidfosfosfodsofs';
$content = "grant_type=client_id";
$curl = curl_init();
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl, CURLOPT_POSTFIELDS, $content);






возможно, попробуйте это:
$handle = curl_init('http://api.example.com/v1/api/auth/login?grant_type=client_id');
$header = array();
$header[] = 'Content-Type: application/json';
$header[] = 'Authorization: Basic DdJfd1Bxx2NxMkYwNjzzdl9mejJZIFKVQlBc';
curl_setopt($handle, CURLOPT_HTTPHEADER, $header);
$resp = curl_exec($handle);
var_dump(curl_error($handle));
возможно, это другая проблема, но не заголовок, например, сервер недоступен или предоставленная вами авторизация неверна.
Я просто получаю тот же бесконечный цикл