2017-02-15 1 views
0

그래서 urllib2로 작업 중이며 특정 페이지에서 멈추는 경우가 있습니다. Ctrl-C조차도 작업을 취소하지 않습니다. 그것은 오류를 던지고있어 (나는 모든 것을 잡는 중이다), 그리고 그것을 어기는 방법을 알아낼 수 없다. urllib2에 대한 시간 제한 옵션이 기본값으로 설정되어 있습니까?Python urllib2 - 일시적으로 연결이 끊어 질 때 멈춤

여기 절차입니다 : 다음

 
req = urllib2.Request(url,headers={'User-Agent':'...<chrome's user agent string>...'}) 
page = urllib2.urlopen(req) 
// p.s. I'm not installing any openers 

, 인터넷이 연결이 복원 된 경우에도, (그것을 다운로드) 두 번째 줄 도중에 잘라 도착하면,이 프로그램을 완전히 정지.

 
HTTP/1.1 200 OK 
Date: Wed, 15 Feb 2017 18:12:12 GMT 
Content-Type: application/rss+xml; charset=UTF-8 
Content-Length: 247377 
Connection: keep-alive 
ETag: "00e0dd2d7cab7cffeca0b46775e1be7e" 
X-Robots-Tag: noindex, follow 
Link: ; rel="https://api.w.org/" 
Content-Encoding: gzip 
Vary: Accept-Encoding 
Cache-Control: max-age=600, private, must-revalidate 
Expires: Wed, 15 Feb 2017 18:12:07 GMT 
X-Cacheable: NO:Not Cacheable 
Accept-Ranges: bytes 
X-Served-From-Cache: Yes 
Server: cloudflare-nginx 
CF-RAY: 331ab9e1443656d5-IAD 

추신 : 여기

내가 같은 페이지에서 브라우저 (크롬)에서 얻을 응답 헤더입니다 url은 응답에 따라 압축 된 것으로 보이는 큰 WordPress 피드입니다.

답변

1

docs에 따르면 기본 시간 초과는 실제로 시간 제한이 없습니다. 그래도 urlopen을 호출 할 때 시간 초과를 지정할 수 있습니다. :)

page = urllib2.urlopen(req, timeout=30) 
+0

Sweet! 잘 했어! 고마워 :) – Codesmith

관련 문제