2013-09-26 56 views
0

當我第一次開始,我還以爲捲曲將在JSON格式檢索的數據塊的一個很好的方式。它沒有工作。我嘗試了一些Ajax請求,但是這也不起作用。現在爲什麼stream_context_create成功返回數據但不是我的Curl?

,這是我的捲曲要求:

$ch = curl_init("url"); 

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 

curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Accept' => 'application/json', 
    'Auth' => 'code', 
)); 

$data = curl_exec($ch); 

curl_close($ch); 

print_r($data); 

...捲曲請求,則返回一個空字符串。沒有錯誤...

$opts = array(
    'http'=>array(
    'method'=>"GET", 
    'header'=>"Accept: application/json\r\n" . "Auth: code", 
) 
); 

$context = stream_context_create($opts); 



$url = ""; 

$fp = fopen($url, 'r', false, $context); 

$r = @stream_get_contents($fp); 

fclose($fp); 

print_r($r); 

用json數據提供了一個很好的數組。爲什麼?這不是真的應該做同樣的事情嗎?

回答

1

由於CURLOPT_HTTPHEADER不採取相關聯的陣列。您需要添加完整的標題。

​​
+0

怎麼就沒有報告任何錯誤?我的錯誤報告爲ON,並顯示-1。 – user2141625

+0

您應該使用['curl_error'(http://www.php.net/manual/en/function.curl-error.php)如果'curl_exec'返回false。 –

+0

Curl並沒有真正做出太多的智慧。它只是忽略了這些鍵,並將這些值添加爲我猜測的(無效的)HTTP頭。 –

相關問題