urllib2 python(Transfer-Encoding:分块传输)
我用下面的Python代码下载一个网页:
response = urllib2.urlopen(current_URL)
msg = response.read()
print msg
比如说这个网页:这里,它能顺利打开网址,但只显示了网页的一部分内容!
接下来你可以看到这个网页的HTTP头信息。我觉得问题出在“Transfer-Encoding: chunked”上。
看起来urllib2只返回了第一部分内容!我在读取后面的部分时遇到了困难。我该怎么才能读取剩下的部分呢?
Server: nginx/1.0.5
Date: Wed, 27 Feb 2013 14:41:28 GMT
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Set-Cookie: route=c65b16937621878dd49065d7d58047b2; Path=/
Set-Cookie: JSESSIONID=EE18E813EE464664EA64086D5AE9A290.tpdjo13v_3; Path=/
Pragma: No-cache
Cache-Control: no-cache,no-store,max-age=0
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Vary: Accept-Encoding
Content-Language: fr
1 个回答
0
我发现如果指定了 Accept-Language 这个头信息,服务器就不会断开 TCP 连接;否则,它就会断开连接。
curl -H "Accept-Language:uk,en-US;q=0.8,en;q=0.6,ru;q=0.4" -v 'http://www.legifrance.gouv.fr/affichJuriJudi.do?oldAction=rechJuriJudi&idTexte=JURITEXT000024053954&fastReqId=660326373&fastPos=1'