我正在开发一个简单的下载应用程序.在请求以下文件时,firefox和我的应用程序都没有获取content-length字段.但是如果我使用wget服务器发出请求会发送内容长度字段.我确实更改了wgets用户代理字符串以进行测试,它仍然获得了content-length字段.
任何想法为什么会这样?
wget请求
---request begin---
GET /dc-13/video/2005_Defcon_V2-P_Zimmerman-Unveiling_My_Next_Big_Project.mp4 HTTP/1.0
User-Agent: test
Accept: */*
Host: media.defcon.org
Connection: Keep-Alive
---request end---
HTTP request sent, awaiting response...
---response begin---
HTTP/1.0 200 OK
Server: lighttpd
Date: Sun, 05 Apr 2009 04:40:08 GMT
Last-Modified: Tue, 23 May 2006 22:18:19 GMT
Content-Type: video/mp4
Content-Length: 104223909
Connection: keep-alive
Run Code Online (Sandbox Code Playgroud)
firefox请求
GET /dc-13/video/2005_Defcon_V2-P_Zimmerman-Unveiling_My_Next_Big_Project.mp4 HTTP/1.1
Host: media.defcon.org
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.0.8) Gecko/2009032608 Firefox/3.0.8
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://www.defcon.org/html/links/defcon-media-archives.html
Pragma: no-cache
Cache-Control: no-cache
HTTP/1.x 200 OK
Server: lighttpd
Date: Sun, 05 Apr 2009 05:20:12 GMT
Last-Modified: Tue, 23 May 2006 22:18:19 GMT
Content-Type: video/mp4
Transfer-Encoding: chunked
Run Code Online (Sandbox Code Playgroud)
更新:
是否有一个我可以发送的标题,告诉Lighthttpd不要使用分块编码.我原来的问题是我urlConnection用来抓取我自己发送HTTP 1.1请求的java应用程序中的文件.
我想知道文件的大小,以便我可以更新我的百分比.
Ate*_*ral 13
GET /dc-13/video/2005_Defcon_V2-P_Zimmerman-Unveiling_My_Next_Big_Project.mp4 HTTP/1.1
Firefox正在执行HTTP 1.1 GET请求.Lighthttpd理解客户端将支持分块传输编码并以块的形式返回内容,每个块报告自己的长度.
GET /dc-13/video/2005_Defcon_V2-P_Zimmerman-Unveiling_My_Next_Big_Project.mp4 HTTP/1.0
另一方面,Wget执行HTTP 1.0 GET请求.Lighthttpd,了解客户端不支持HTTP 1.1(以及分块传输编码),将内容返回到一个块中,并在响应头中报告长度.
| 归档时间: |
|
| 查看次数: |
5379 次 |
| 最近记录: |