Через командную строку CURL работает, из PHP - нет
Запрос из командной строки:
curl -X GET --header 'Authorization: Bearer xxx-xxx-xxx' --header 'Accept: application/json' 'https://site.com/address-classifier-ws/get_city_by_region_id_and_district_id_and_city_ua?region_id=9'
выдает города 9-го региона, и также остальных других (при смене region_id), как и должно быть.
Запрос из PHP:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://site.com/address-classifier-ws/get_city_by_region_id_and_district_id_and_city_ua?region_id=9");
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Authorization: Bearer xxx-xxx-xxx'));
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_exec($ch);
curl_close($ch);
выдает населенные пункты 9-го региона, но по остальным только ошибку:
{}ECOM_API_PRODN/A/ECOM_API_PROD.dbshttp://ws.wso2.org/dataserviceINCOMPATIBLE_PARAMETERS_ERROR_getget_city_by_region_id_and_district_id_and_city_ua
В чем может быть проблема?
Ответы (1 шт):
Автор решения: Виктор Юрьевич
→ Ссылка
Проблема в CURLOPT_HTTPHEADER.
Нужно писать так:
curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Authorization: Bearer ' . 'ХХХХ-хххх-хххх','Accept: application/json'));