用wget下载chunked资源?

时间:2011-04-05 20:32:31

标签: asp.net curl wget chunked-encoding

这个控制器有一个示例ASP.NET项目:

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
   protected void Page_Load(object sender, EventArgs e)
   {
       Response.Write("test1234");
       Response.Clear();
       Response.Flush();
       Response.Write("test5");
       Response.End();
   }
}

在浏览器(Chrome 10)中,我看到“test5”和     传输编码:分块

当尝试使用wget(来自最近的Cygwin)下载时,我得到了

$ wget -S  --read-timeout=60 http://127.0.0.1/EmptyWebSite/test/
--2011-04-05 23:25:51--  http://127.0.0.1/EmptyWebSite/test/
Connecting to 127.0.0.1:80... connected.
HTTP request sent, awaiting response...
  HTTP/1.1 200 OK
  Server: Microsoft-IIS/5.1
  Date: Tue, 05 Apr 2011 20:25:51 GMT
  X-Powered-By: ASP.NET
  X-AspNet-Version: 2.0.50727
  Cache-Control: private
  Content-Type: text/html
Length: unspecified [text/html]
Saving to: `index.html'

[ <=>  ] 0           --.-K/s   in 0s

文件显然是空的

出了什么问题?我可以用wget / curl下载这样的资源吗?

3 个答案:

答案 0 :(得分:4)

不是WGET。来自bugs.debian.org

  

Wget对分块传输编码没有任何支持(因此,对于   HTTP / 1.1)。它只会发送HTTP / 1.0请求,这意味着一个   HTTP / 1.1响应是非法的(就像分块编码一样)。

Curl支持HTTP / 1.1

答案 1 :(得分:3)

自1.13版以来,Wget支持HTTP / 1.1和分块传输

答案 2 :(得分:0)

啊,解决了     curl -v URL ...