Python:让urllib跳过失败的连接
使用诺基亚N900,我有一个Python:让urllib跳过失败的连接,python,urllib,Python,Urllib,使用诺基亚N900,我有一个urllib.urlopen语句,如果服务器脱机,我希望跳过该语句。(如果无法连接>继续执行下一行代码) 在Python中应该/可以如何做到这一点?根据文档,如果无法建立连接,它将引发IOError try: urllib.urlopen("http://fgsfds.fgsfds") except IOError: pass try: urllib.urlopen(url) except IOError: # exception h
urllib.urlopen
语句,如果服务器脱机,我希望跳过该语句。(如果无法连接>继续执行下一行代码)
在Python中应该/可以如何做到这一点?根据文档,如果无法建立连接,它将引发IOError
try:
urllib.urlopen("http://fgsfds.fgsfds")
except IOError:
pass
try:
urllib.urlopen(url)
except IOError:
# exception handling goes here if you want it
pass
else:
DoSomethingUseful()
编辑:正如联合国大学指出的那样,urllib2
更灵活。Python文档对如何使用它有很好的说明。根据文档,如果无法建立连接,它将引发IOError
try:
urllib.urlopen(url)
except IOError:
# exception handling goes here if you want it
pass
else:
DoSomethingUseful()
编辑:正如联合国大学指出的那样,
urllib2
更灵活。Python文档对如何使用它有很好的说明。如果您使用的是Python3,urllib.request.urlopen
有一个参数。您可以这样使用它:
import urllib.request as request
try:
response = request.urlopen('http://google.com',timeout = 0.001)
print(response)
except request.URLError as err:
print('got here')
# urllib.URLError: <urlopen error timed out>
将urllib.request作为请求导入
尝试:
response=request.urlopen('http://google.com,超时=0.001)
打印(答复)
除request.URLError作为错误外:
打印('got here')
#urllib.URLError:
超时
以秒为单位。上面的超短值只是为了证明它是有效的。当然,在现实生活中,你可能会想将其设置为更大的值
urlopen
如果url不存在或您的网络关闭,也会引发一个错误(也可以作为请求.URLError
访问)
对于Python2.6+,等效代码可以是。如果您使用的是Python3,
urlib.request.urlopen
有一个参数。您可以这样使用它:
import urllib.request as request
try:
response = request.urlopen('http://google.com',timeout = 0.001)
print(response)
except request.URLError as err:
print('got here')
# urllib.URLError: <urlopen error timed out>
将urllib.request作为请求导入
尝试:
response=request.urlopen('http://google.com,超时=0.001)
打印(答复)
除request.URLError作为错误外:
打印('got here')
#urllib.URLError:
超时
以秒为单位。上面的超短值只是为了证明它是有效的。当然,在现实生活中,你可能会想将其设置为更大的值
urlopen
如果url不存在或您的网络关闭,也会引发一个错误(也可以作为请求.URLError
访问)
对于Python2.6+,等效代码可以是。需要使用urllib而不是urllib2需要使用urllib而不是urllib2