我在浏览器中运行了一些PHP代码。
如果我导航到像google.com这样的网址,它会告诉我该文档已移至此处。 。即到另一个谷歌链接。
我将cURL
跟随位置设置为true。
另外。当查询实际执行时,它会强制我的浏览器下载 .gz 文件中的网页。
请帮忙。我不想下载它。我想要它显示。
curl_setopt($ch, CURLOPT_URL, trim("http://".trim($host).$q));
curl_setopt($ch, CURLOPT_PORT, intval(trim($port)));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $v);
编辑::
您的浏览器在请求stackoverflow.com等网站时发送了错误的请求。 。甚至4shared.com做同样的事情。
以下是我在HTTPHEADER
中使用的cURL
数组;
Array
(
[0] => Proxy-Connection: Close
[1] => Cache-Control: max-age=0
[2] => User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1017.2 Safari/535.19
[3] => Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
[4] => Accept-Encoding: gzip,deflate,sdch
[5] => Accept-Language: en-US,en;q=0.8
[6] => Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
[7] => Cookie: __qca=P0-9
[8] => Connection: Close
)
这与我上面使用的卷曲代码相同。
Host: stackoverflow.com
Q: /questions/tagged/java
答案 0 :(得分:2)
解决gzip问题:在设置CURLOPT_HTTPHEADER
之前,尝试将CURLOPT_ENCODING
设置为空字符串。问题是cURL不期望压缩响应(因为你没有设置它应该接受的编码),但是无论如何都要使用自定义HTTP头手动请求压缩响应。