2014-02-06 26 views
1

我想在我的php文件中捕獲一個站點(http://gnocchi-www.buffalo-ggn.net/bingo2-v2.47.0-JACKET/js/cache/static_desktop_data.json)的響應,以將可用的集合項寫入數據庫。使用修改標題的php cURL請求

如果我在瀏覽器中輸入地址,我會得到一個json字符串作爲響應。但是如果我使用cURL請求,我會得到一個空的響應。

這裏是我的捲曲代碼:

$url = 'http://gnocchi-www.buffalo-ggn.net/bingo2-v2.47.0-JACKET/js/cache/static_desktop_data.json'; 
$headers = array( 
     "Content-Type: application/x-www-form-urlencoded", 
     "Host: gnocchi-www.buffalo-ggn.net", 
     "Accept-Language: de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4", 
     "Accept-Encoding: gzip,deflate,sdch", 
     "Accept: */*" 
    ); 

$ch = curl_init($url); 
curl_setopt($ch, CURLOPT_GET, true); 
curl_setopt($ch, CURLOPT_HEADER, true); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36"); 
curl_setopt($ch, CURLOPT_REFERER, "https://gs1.wac.edgecastcdn.net/805F48/gnocchi/bingo2-v2.47.0-JACKET/assets/Game.swf"); 
curl_setopt($ch, CURLOPT_VERBOSE, true); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$response=curl_exec($ch); 
echo $response; 

,當我進入瀏覽器的URL被髮送的標題是:

主持人:gnocchi-www.buffalo-ggn.net

連接:保持活着

接受:text/html的,應用/ XHTML + xml的,應用/ XML; q = 0.9,圖像/ WEBP,/; q = 0.8

User-Agent:Mozilla/5.0(Windows NT 6.1; WOW64)爲AppleWebKit/537.36(KHTML,例如Gecko)鉻/ 32.0.1700.107 Safari瀏覽器/ 537.36

接受編碼:gzip,放氣,SDCH

接受語言:DE-DE,DE; Q = 0.8, en-US; q = 0.6,en; q = 0.4

任何人都可以幫我解決這個問題嗎?

+0

,準確的代碼對我的作品 - 我(根據返回'內容Length'頭578604個字節)得到JSON數據的負荷。儘管你的代碼有一些警告 - 試着打開error_reporting(E_ALL);看看你是否得到了一些有用的信息。 – Nils

+0

'CURLOPT_GET'選項不存在(http://www.php.net/manual/en/function.curl-setopt.php) – hindmost

+0

thx尼爾斯和最後。 在我的其他服務器上,它工作正常。不太明白,但它在那裏工作。 Thx爲您提供幫助。也許我應該在那裏嘗試過。 – user3280178

回答

1

從代碼中刪除此:

"Accept-Encoding: gzip,deflate,sdch", 

如果你真的想發送的任何編碼的要求,然後添加該捲曲選項與您的代碼。

curl_setopt($ch, CURLOPT_ENCODING, ""); 

最後,這個對現代版本的libcurl沒有任何影響。所以刪除這一個。

curl_setopt($ch, CURLOPT_GET, true); 
+0

Thx Sabuj。 我把它們都刪除了,它在我的其他主機上就像一個魅力一樣。 – user3280178