我想在我的php文件中捕获网站(http://gnocchi-www.buffalo-ggn.net/bingo2-v2.47.0-JACKET/js/cache/static_desktop_data.json)的响应,以便在数据库中编写可用的集合项。
如果我在浏览器中输入地址,我会得到一个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;
我在浏览器中输入网址时发送的标题是:
主持人:gnocchi-www.buffalo-ggn.net
连接:保持活力
接受:text / html,application / xhtml + xml,application / xml; q = 0.9,image / webp, / ; q = 0.8
User-Agent:Mozilla / 5.0(Windows NT 6.1; WOW64)AppleWebKit / 537.36(KHTML,类似Gecko)Chrome / 32.0.1700.107 Safari / 537.36
Accept-Encoding:gzip,deflate,sdch
接受语言:de-DE,de; q = 0.8,en-US; q = 0.6,en; q = 0.4
任何人都可以帮我解决这个问题???
答案 0 :(得分:1)
从您的代码中删除它:
"Accept-Encoding: gzip,deflate,sdch",
如果您确实想发送任何编码请求,请在代码中添加此卷曲选项。
curl_setopt( $ch, CURLOPT_ENCODING, "");
最后,这个对libcurl的现代版本没有任何影响。所以删除这个。
curl_setopt( $ch, CURLOPT_GET, true);