我在嘗試將以下cURL命令轉換爲PHP。將cURL命令轉換爲PHP
curl -k https://api.box.com/2.0/files/content -H "Authorization: Bearer 8tuuIMsrf3ShyODVdw" -F [email protected] -F folder_id=0
這裏是我的嘗試:
$url = 'https://api.box.com/2.0/folders/content';
$params['filename'] = '@txt.txt';
$params['folder_id'] = '0';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Bearer ".$this->access_token, "Content-Type: multipart/form"));
$data = curl_exec($ch);
curl_close($ch);
它不但是工作。任何人都可以幫助我理解爲什麼我在做什麼是錯的,我能做些什麼來修改我的代碼?謝謝!!
我試過這樣做,但我仍然遇到問題。我不確定的一件事是如何將-F cURL命令轉換爲PHP。從cURL文檔中,-F'可以讓curl模擬一個用戶按下提交按鈕的填充表單。這會導致根據RFC 2388'使用Content-Type multipart/form-data捲曲POST數據。我真的不知道如何解釋這一點,所以我只是嘗試在我的POST請求中將它們用作params(key,value)。它是否正確? – user2066880 2013-05-09 21:32:25
-F等同於您的$ params數組和CURLOPT_POSTFIELDS選項。什麼是'$數據'?錯誤消息還是空的? – drew010 2013-05-09 21:46:25
$數據爲空。當我跟蹤網絡活動時,它表示POST請求發送時沒有錯誤,但沒有任何反應 – user2066880 2013-05-09 23:46:48