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

我有基本授权的PHPcurl请求的问题。

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

我得到了响应“请求中的身份validation参数丢失或无效”,但我已经使用正确的ID和api_key这是工作在命令行curl(我testing)

请帮帮我。

试试下面的代码:

 $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