2012-09-20 82 views
3

如何發送PHP中提到的CURL請求?我將在PHP中使用哪些函數?如何在PHP中使用curl將訪問密鑰作爲HTTP標頭傳遞

$ curl -H 'X-Sifter-Token: 343b1b831066a40e308e0af92e0f06f0' \ 
-H 'Accept: application/json' \ 
'http://example.sifterapp.com/api/projects' 

我已經試過這個代碼..但它不工作.. 請做要緊

$curlString = ""; 

$curlString .= "-H \"X-Sifter-Token: 343b1b831066a40e308e0af92e0f06f0\" \"; 

$curlString .= "-H \"Accept: application/json\" \"; 

$url="http://example.sifterapp.com/api/projects"; 


$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL,$url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_TIMEOUT, 60); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $curlString); 
$data = curl_exec($ch); 
if (curl_errno($ch)) { 
print "Error: " . curl_error($ch); 
} else { 
// Show me the result 
var_dump($data); 
curl_close($ch); 
} 

回答

6

你不正確使用CURLOPT_HTTPHEADER。從手冊:

http://php.net/manual/en/function.curl-setopt.php

CURLOPT_HTTPHEADER HTTP頭字段設置的陣列,在 格式array('Content-type: text/plain', 'Content-length: 100')

所以你需要:

curl_setopt($ch, CURLOPT_HTTPHEADER, array(
     'X-Sifter-Token: 343b1b831066a40e308e0af92e0f06f0', 
     'Accept: application/json', 
)); 
+0

謝謝期待你的答覆。它完成了CURL請求。但我得到'301永久移動'的消息。當我使用var_dump($ response)時,我得到了字符串(184)。什麼所有其他的PHP CURL函數我需要用來完成這個請求。我是第一次這樣做。 – DeDav

+0

HTTP 301可能意味着您的請求*微調*關閉,例如你問'projects'而不是'projects /'。你可以通過cURL輸出所有標題來檢查。修復請求更高效;但您可能可以讓cURL自動重試,並選擇遵循重定向(請參閱setopt手冊頁)。 – LSerni

相關問題