cURL适用于终端 - PHP中的错误

时间:2014-01-10 19:30:23

标签: php curl terminal box-api

我浏览了所有其他终端与PHP的问题,但找不到解决方案。

我正在使用BOX API,这可以检索文件夹中的文件列表:

curl https://api.box.com/2.0/folders/0 \
-H "Authorization: Bearer EdbmVAlajxC0VrkZoYA0wgPjSdNFQSeO"

但这不起作用:

$postURL="https://api.box.com/2.0/folders/0";

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $postURL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Authorization: Bearer EdbmVAlajxC0VrkZoYA0wgPjSdNFQSeO'));

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

翻译中缺少什么?

1 个答案:

答案 0 :(得分:2)

我能够重现你的结果。看起来您第一次尝试使用curl命令正在使用GET方法。我在你的卷曲请求上启用了--trace-ascii

curl --trace-ascii test.txt https://api.box.com/2.0/folders/0 \
-H "Authorization: Bearer EdbmVAlajxC0VrkZoYA0wgPjSdNFQSeO"

test.txt的内容显示正在发出GET请求。

您的PHP脚本使用的是POST方法。当我将CURLOPT_POST更改为false时,PHP脚本也适用于我。看起来服务器期待GET请求而不是POST请求。