由于未写入内容长度,特定URL的Wget超时命令失败

时间:2010-06-17 11:46:30

标签: wget

wget对我的数据挖掘项目很有帮助。今天我尝试使用以下网页。它的内容类型未指定,因此在终止进程之前挂起连接。我尝试了-T, - connect-timeout --read-timeout和--no-http-keep-alive的选项,都失败了。我尝试谷歌答案,阅读wget的人。没有解决方案。有人提示该问题可能是特定版本的错误。我不知道。我在这里发布我的问题,只是想确保有人知道。

顺便说一句,我的操作系统是Ubuntu 10.04 LTS Lucid Lynx for i386。

  

wget --connect-timeout 3 --read-time 3 --debug http://www.crvanguard.com.cn/custom/crv/sales/hb.jsp?province=101&city=1010001&shop=0&sale_type=0&pageNo=1

这是调试信息(调试信息中的一些中文已被翻译成英文):

DEBUG output created by Wget 1.12 on linux-gnu.

--2010-06-17 19:18:29--  http://www.crvanguard.com.cn/custom/crv/sales/hb.jsp?province=101
Resolving host www.crvanguard.com.cn... 219.134.63.193
Caching www.crvanguard.com.cn => 219.134.63.193
Connecting www.crvanguard.com.cn|219.134.63.193|:80... connected。
Created socket 3.
Releasing 0x09b79090 (new refcount 1).

---request begin---
GET /custom/crv/sales/hb.jsp?province=101 HTTP/1.0
User-Agent: Wget/1.12 (linux-gnu)
Accept: */*
Host: www.crvanguard.com.cn
Connection: Keep-Alive

---request end---
HTTP request sent, waiting for response... 
---response begin---
HTTP/1.1 200 OK
Date: Thu, 17 Jun 2010 11:09:10 GMT
Server: IBM_HTTP_Server
Surrogate-Control: no-store
Set-Cookie: JSESSIONID=0000I2ewO_IHpH5Kly3d8DKm6vn:-1; Path=/
Expires: Thu, 01 Dec 1994 16:00:00 GMT
Cache-Control: no-cache="set-cookie, set-cookie2"
Connection: close
Content-Type: text/html; charset=GBK
Content-Language: zh-CN

---response end---
200 OK

Stored cookie www.crvanguard.com.cn -1 (ANY) /   [expiry none] JSESSIONID 0000I2ewO_IHpH5Kly3d8DKm6vn:-1
Content-length: unspecified [text/html]
Saving to: “hb.jsp?province=101.1”

    [                                                                                 ] 157,669      210K/s   in 0.7s    

Closed fd 3
2010-06-17 19:18:29 (210 KB/s) - “hb.jsp?province=101.1” saved [157669]

^C
[10]   Done                    wget --connect-timeout 3 --read-time 3 --debug http://www.crvanguard.com.cn/custom/crv/sales/hb.jsp?province=101
[11]   Done                    city=1010001
[12]   Done                    shop=0
[13]   Done                    sale_type=0

即使我指定了超时参数并阻止了http-keep-alive选项,wget也无法成功断开链接。

我使用了错误的选项吗?这是一个错误吗?提前谢谢。

1 个答案:

答案 0 :(得分:1)

你的问题是shell解释了URL中的&符号。将URL放在单引号之间。

从技术上讲,服务器中存在错误。如果服务器使用HTTP 1.1,则必须指定其中一个标头:

  • 内容长度:1234
  • 转移编码:chunked

然而,wget可以解决这个问题。