Скачать чанкированный ресурс с помощью wget? - PullRequest
2 голосов
/ 06 апреля 2011

Существует пример проекта 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" и Transfer-Encoding: фрагментированный

При попытке загрузить с помощью 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 ]

4 голосов
/ 06 апреля 2011

Не с WGET.Начиная с bugs.debian.org

Wget имеет нулевую поддержку для кодированных блоков (и, следовательно, для HTTP / 1.1).Он будет отправлять только запросы HTTP / 1.0, что означает, что ответ HTTP / 1.1 является недопустимым (как и кодированная часть).

Curl поддерживает HTTP / 1.1

3 голосов
/ 21 января 2015

Wget имеет поддержку HTTP / 1.1 и частичную передачу начиная с версии 1.13

0 голосов
/ 06 апреля 2011

Ах, решено с curl -v URL ...

...