Emi*_*ska 3 python urllib python-requests
当我将超时参数添加到函数时,我的代码总是进入异常并打印出"我失败".当我删除超时参数时,代码按原样运行,并进入try子句.有关超时参数如何在urllib.request函数中工作的任何信息?
import urllib.request
url = 'stackoverflow.com'
try:
req = urllib.request.Request("http://" + url, timeout = 1000000000)
req = urllib.request.urlopen(req)
print("I tried.")
except:
print("I failed.")
Run Code Online (Sandbox Code Playgroud)
我尝试使用请求而不是urllib,代码使用包含的超时参数.在下面的代码中,它总是进入try子句,传递或不传递超时参数.
import requests
url = 'stackoverflow.com'
try:
req = requests.get("http://" + url, timeout=1000000)
print("I tried.")
except:
print("I failed.")
Run Code Online (Sandbox Code Playgroud)
但是,由于稍后我的代码中存在一些冲突,我不想使用请求.关于如何在urllib中包含超时的任何想法?
在urllib.request.Request没有初始参数,如timeout,但它在urllib.request.urlopen,所以你需要:
import urllib.request
url = 'stackoverflow.com'
try:
req = urllib.request.Request("http://" + url)
req = urllib.request.urlopen(req, timeout=1000000000)
# ^^^^^^^
print("I tried.")
except:
print("I failed.")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2230 次 |
| 最近记录: |