【发布时间】:2012-03-21 23:03:55
【问题描述】:
我在 php 中有这个 cURL 代码。
curl_setopt($ch, CURLOPT_URL, trim("http://stackoverflow.com/questions/tagged/java"));
curl_setopt($ch, CURLOPT_PORT, 80); //ignore explicit setting of port 80
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_ENCODING, "");
curl_setopt($ch, CURLOPT_HTTPHEADER, $v);
curl_setopt($ch, CURLOPT_VERBOSE, true);
HTTPHEADER的内容是;
Proxy-Connection: Close
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1017.2 Safari/535.19
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: __qca=blabla
Connection: Close
它们每个都是数组$v 中的单独项。
当我在主机上上传文件并运行代码时,我得到的是:
400 错误请求
您的浏览器发送了无效请求。
但是当我使用命令行 PHP 在我的系统上运行它时,我得到的是
< HTTP/1.1 200 OK
< Vary: Accept-Encoding
< Cache-Control: private
< Content-Type: text/html; charset=utf-8
< Content-Encoding: gzip
< Date: Sat, 03 Mar 2012 21:50:17 GMT
< Connection: close
< Set-Cookie: buncha cokkies; path=/; HttpOnly
< Content-Length: 22151
<
* Closing connection #0
.
它不仅在 stackoverflow 上发生,它也发生在 4shared 上,但适用于 google 和其他人。
感谢您的帮助。
【问题讨论】:
-
删除
curl_setopt($ch, CURLOPT_ENCODING, "");的结果是什么 -
@StefanN 浏览器将网页下载到
.gz文件中。它不显示。只需下载。