2011-12-07 48 views
1

我想通過PHP形成以下CURL發佈請求?我如何做到這一點,所有我嘗試回來作爲無效的職位參數。CURL php查詢形成 - 如何?

這就是我試圖通過PHP爲POST(我有API_KEY,api_sig ..但不知道如何通過PHP把查詢後下):

捲曲-d 「API_KEY = KEY & SIG = SIGNATURE & TIME_STAMP = 20 & JSON = 1" \ http://api.i.com/v1/update/

+0

看起來像一個直接的殼調用來捲曲。使用PHP的curl庫查看[基本捲曲示例](http://us.php.net/manual/en/curl.examples-basic.php)。你會發送數據對作爲['CURLOPT_POSTFIELDS'](http://us.php.net/manual/en/function.curl-setopt.php)。 – Wiseguy

+0

$ ch = curl_init(「http://api.iq.com/v1/update/」); $ fp = fopen(「response.txt」,「d」); curl_setopt($ ch,CURLOPT_FILE,$ fp); curl_setopt($ ch,CURLOPT_HEADER,0); 像上面那樣?我不知道如何在PHP中做到這一點 - 因此我的問題:) – ChicagoDude

回答

5

這應該工作

$url = "http://api.iq.com/v1/update/"; 
$data = "api_key=API_KEY&api_sig=SIGNATURE&time_stamp=20090612111832&json=1"; 

$ch = curl_init($url); 
curl_setopt($ch, CURLOPT_POST ,1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); /* obey redirects */ 
curl_setopt($ch, CURLOPT_HEADER, 0); /* No HTTP headers */ 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); /* return the data */ 

$result = curl_exec($ch); 

curl_close($ch); 
0

請參考下面的PHP代碼

define('POSTURL', 'http://api.iq.com/v1/update/'); 
define('POSTVARS', 'api_key=API_KEY&api_sig=SIGNATURE&time_stamp=20090612111832&json=1'); //removed typo 
$ch = curl_init(POSTURL); 
curl_setopt($ch, CURLOPT_POST ,1); 
curl_setopt($ch, CURLOPT_POSTFIELDS ,POSTVARS); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER ,1); // RETURN THE CONTENTS OF THE CALL` 
$Rec_Data = curl_exec($ch);` 
curl_close($ch); 
0

把一切都放在一個行:

curl -d "api_key=API_KEY&api_sig=SIGNATURE&time_stamp=20090612111832&json=1" http://api.iq.com/v1/update/ 

使用exec()來運行它,例如

exec("curl -d \"api_key=API_KEY&api_sig=SIGNATURE&time_stamp=20090612111832&json=1\" http://api.iq.com/v1/update/", $results); 

$results持有返回的數據。