0

我正在尝试进行 PHP 卷曲调用。该调用在 POSTMAN 中有效,如下所示:

URL Endpoint: https://api.sb.example.com/v1/resource/identifier

Headers: 
Content Type: application/json
Authorization : Bearer AccessTokenValue

HTTP Protocol : GET

此调用返回一个有效的 JSON 响应。现在,当我使用 PHP 做同样的事情时,我无法得到响应。这是我的 PHP Curl 调用:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.sb.example.com/v1/resource/identifier");
//curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);

curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type : application/json',
                                            'Authorization : Bearer AccessTokenValue'
));

$data = curl_exec($ch);
print_r($data);
curl_close($ch);

通过 PHP 的这个调用给了我错误:

HTTP/1.1 401 Unauthorized
Server: Apache-Coyote/1.1

对代码有什么想法/建议吗?

4

2 回答 2

0

请在 curl_exec() 之前添加以下所述行

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);                                         
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
于 2014-10-09T09:47:54.750 回答
0

所以我想通了,我在 KeyValue 对的 headers 数组中有一个空格。

curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type : application/json', ..)

应该是

curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json',
于 2014-10-09T10:01:58.607 回答