1
我正在使用線程,我需要使用線程下載網站。我也有一個線索將請願書發送到網站,但不等待答案。 不等待的一個是這樣的:urllib.urlopen不會在線程上執行
class peticion(Thread):
def __init__(self, url):
Thread.__init__(self)
self.url = url
def run(self):
f = urllib.urlopen(self.url)
f.close()
這一個工作正常,但是有等待響應的一個需要像一個隨機的時間才能完成,從5秒到2分鐘,或它可能永遠不會完成。這是類:
class playerConn(Thread):
def __init__(self, ev):
Thread.__init__(self)
self.ev = ev
def run(self):
try:
params = urllib.urlencode('''params go here''')
f = urllib.urlopen('''site goes here''')
resp = f.read()
f.close()
finally:
# do something with the response
不管是不是我用的try ... finally語句不工作,urlopen
功能後的代碼不會得到執行。
我該怎麼辦?
我剛剛試過你的代碼,它基本上像我寫的那樣工作。也許檢查打開網址時出現錯誤,如404或其他? – 2011-01-22 14:44:11