一尘不染

如何在PHP curl中使用基本授权

php

我在使用基本授权的PHP curl请求时遇到问题。

这是命令行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}

我收到响应“请求中的身份验证参数丢失或无效”,但我使用了在命令行curl中有效的ID和api_key(已测试)

请帮我。


阅读 226

收藏
2020-05-26

共1个答案

一尘不染

试试下面的代码:

$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);
2020-05-26