2013-02-27 13 views
5

ho usato il seguente codice python per scaricare la pagina html:urllib2 python (Transfer-Encoding: chunked)

response = urllib2.urlopen(current_URL) 
msg = response.read() 
print msg 

Per una pagina, come this one, si apre l'url senza errori, ma poi le stampe solo una parte di la pagina html!

Nelle righe seguenti è possibile trovare le intestazioni http della pagina html. Penso che il problema sia dovuto a "Transfer-Encoding: chunked".

Sembra che urllib2 restituisca solo il primo blocco! Ho difficoltà a leggere i blocchi rimanenti. Come posso leggere i pezzi rimanenti?

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 

risposta

0

ho scoperto che se mi Accept-Language intestazione viene specificato di server non cadere connessione TCP, in caso contrario lo fa.

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'