2014-01-10 18 views
1

我瀏覽了所有其他終端與PHP的問題,並找不到解決方案。cURL在我的終端工作 - 在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

你從'curl_error($ 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請求。

+0

搖晃房子。感謝您的快速,完美的答案!尼克庫恩爲國會! –