Timeout超时设置
使用socket模块设置超时时间和使用urllib的timeout参数。使用urllib的timeout参数时候,可以对具体的url设置不同的超时时间。
例子1:使用urllib的timeout参数设置Timeout
import socketimport urllib.requestimport urllib.error
try:
# res =
urllib.request.urlopen('https://cn.bing.com/?mkt=zh-CN',timeout=5)
res =
urllib.request.urlopen('https://www.google.com.hk/', timeout=5)
print(res.read())except urllib.error.URLError as e:
if isinstance(e.reason,socket.timeout):
print('请求超时')
结果:
例子2:使用socket模块设置urllib超时时间。
import socketimport urllib.requestimport urllib.error
socket.setdefaulttimeout(5)
try:
# res =
urllib.request.urlopen('https://cn.bing.com/?mkt=zh-CN',timeout=5)
res =
urllib.request.urlopen('https://www.google.com.hk/')
print(res.read())except socket.timeout:
print('请求超时')
结果: