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