如果超时,程序就会瘫痪,如何报错或者避免?

lioujian47 2008-07-05 05:11:09
好几天没来了.
有个问题,如下:

url = r'http://zqb.cyol.com'
html = urllib.urlopen(url).read()

如果zqb.cyol.com无法访问,就会导致整个程序报错.有没有什么办法可以在遇到问题的时候,采用备用办法,或打印出"error,timeout!"
...全文
80 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lioujian47 2008-07-07
  • 打赏
  • 举报
回复
恩,不错,谢谢您的回覆
iambic 2008-07-05
  • 打赏
  • 举报
回复
那就比较麻烦了。
google:python 异步 socket

或者简单设下超时选项:
import socket
socket.setdefaulttimeout(3)
lioujian47 2008-07-05
  • 打赏
  • 举报
回复
谢谢,可是可以,不过

try:
url = r'http://zqb.cyol.com'
html = urllib.urlopen(url).read()

这一步耗时太长了.能有办法快些的吗?
我想个办法,比如我这个情况,如果第一个地址打不开就打开另一个地址.
即同时打开两个不同的url,取第一个相应的.这个办法如何?
可行的话,能否给个代码?
谢谢先?
iambic 2008-07-05
  • 打赏
  • 举报
回复
try:
url = r'http://zqb.cyol.com'
html = urllib.urlopen(url).read()
except Exception, e:
print e

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧