Intereting Posts

Как использовать базовую авторизацию в PHP curl

У меня возникла проблема с запросом PHP curl с базовой авторизацией.

Вот кривая командной строки:

curl -H "Accept: application/product+xml" "https://{id}:{api_key}@api.domain.com/products?limit=1&offset=0" 

Я попытался установить curl-заголовок следующими способами, но он не работает

 Authorization: Basic id:api_key or Authorization: Basic {id}:{api_key} 

Я получаю ответ «Параметр аутентификации в запросе отсутствует или недействителен», но я использовал правильный id и api_key, который работает в завитке командной строки (я тестировал)

Пожалуйста, помогите мне.

Попробуйте следующий код:

 $username='ABC'; $password='XYZ'; $URL='<URL>'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$URL); curl_setopt($ch, CURLOPT_TIMEOUT, 30); //timeout after 30 seconds curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY); curl_setopt($ch, CURLOPT_USERPWD, "$username:$password"); $result=curl_exec ($ch); $status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); //get status code curl_close ($ch); 

Можете ли вы попробовать это,

  $ch = curl_init($url); ... curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password); ... 

REF: http://php.net/manual/en/function.curl-setopt.php