我浏览了所有其他终端与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);
翻译中缺少什么?
答案 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
请求。