0

实际上我正在编码使用winsock c ++在HTTP中下载文件并获取我触发“HEAD”标头的详细信息..

(这实际上是我所做的)

HEAD /files/ODBC%20Programming%20in%20C%2B%2B.pdf HTTP/1.0
主机:devmentor-unittest.googlecode.com

回应是:

HTTP/1.0 404 未找到
内容类型:文本/html;字符集=UTF-8
设置 Cookie:PREF=ID=feeed8106df5e5f1:TM=1370157208:LM=1370157208:S=10bN4nrXqkcCDN5n;expires=星期二,2015 年 6 月 2 日 07:13:28 GMT;路径=/; 域=devmentor-unittest.googlecode.com
X-Content-Type-Options: nosniff
日期:2013 年 6 月 2 日星期日 07:13:28 GMT
服务器:codesite_downloads
内容长度:974
X-XSS-防护:1;模式=块
X 框架选项:SAMEORIGIN

但如果我这样做:

GET /files/ODBC%20Programming%20in%20C%2B%2B.pdf HTTP/1.0
主机:devmentor-unittest.googlecode.com

文件已成功下载......

然后在我下载之后,如果我再次触发 HEAD 请求......它也会带来以下内容

HTTP/1.0 200 正常
内容长度:320381
内容类型:应用程序/pdf
内容处置:附件;filename="C++ ODBC 编程.pdf"
接受范围:字节
日期:2013 年 6 月 2 日星期日 05:47:11 GMT
最后修改时间:星期日,2007 年 11 月 11 日 03:17:59 GMT
过期:星期日,2013 年 6 月 9 日 05:47:11 GMT
缓存控制:公共,最大年龄=604800
服务器:DFE/大文件
//像这样.....

问题:为什么“HEAD”一开始返回错误的“未找到错误”,但使用“GET”下载文件,下载“HEAD”后也返回我需要的好东西......我在哪里弄错了......

我在这里尝试下载的文件是“ http://devmentor-unittest.googlecode.com/files/ODBC%20Programming%20in%20C%2B%2B.pdf ”(仅作为示例)

4

1 回答 1

0

问题不在于你。谷歌代码根本没有正确实现 HEAD。这是5 年前报告的,仍然是一个悬而未决的问题:

问题 660:支持文件下载 url 的 HTTP HEAD 方法

于 2013-06-03T04:01:04.167 回答