/ / Python - urllib2タイムアウト - python、urllib2

Python - urllib2タイムアウト - python、urllib2

私は私のコードの抜粋です

opener = urllib2.build_opener(redirect_handler.MyHTTPRedirectHandler())
opener.addheaders = [("Accept-encoding", "gzip")]
fetch_timeout = 12
self.response = opener.open(url, timeout=fetch_timeout)

しかし、それはまだタイムアウトする前に60〜秒待っているコード... すべての手がかりは?

回答:

回答№1の場合は3

推測するには、おそらくソケットのタイムアウトを設定する必要があります

import socket

default_timeout = 12

socket.setdefaulttimeout(default_timeout)

回答№2については2

あなたはどのバージョンを使用していますか? 2.6で追加されました

また、この方法は

urllib2.urlopen(url[, data][, timeout])

あなたは

self.response = opener.open(url, None, fetch_timeout)

他のすべての場合は、ソケットのタイムアウトを設定するためにソケットモジュールを使用することができます。


回答№3の場合は0

それを見て オープナーディレクター クラスと urllib2.install_opener() 方法。