cURL在PHP中工作i终端错误
题
我看了所有其他终端vs。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);
我在翻译中缺少什么?
解决方案
我能够重现你的结果。看起来你第一次尝试使用 curl
命令使用 GET
方法。我启用了 --trace-ascii
在您的curl请求中:
curl --trace-ascii test.txt https://api.box.com/2.0/folders/0 \
-H "Authorization: Bearer EdbmVAlajxC0VrkZoYA0wgPjSdNFQSeO"
测试的内容。txt显示一个 GET
正在提出要求。
您的PHP脚本正在使用 POST
方法。当我改变 CURLOPT_POST
到 false
, ,PHP脚本也适用于我。它看起来像服务器期待一个 GET
请求而不是 POST
请求。
不隶属于 StackOverflow