gpt4 book ai didi

python - urllib.request.Request 超时参数错误

转载 作者:太空宇宙 更新时间:2023-11-03 12:53:54 27 4
gpt4 key购买 nike

当我向函数添加超时参数时,我的代码总是进入异常并打印出“我失败了”。当我删除超时参数时,代码会正常工作,并进入 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.")

我尝试使用 requests 而不是 urllib,并且代码在包含超时参数的情况下工作。在下面的代码中,它总是进入 try 子句,传递或不传递超时参数。

import requests
url = 'stackoverflow.com'

try:
req = requests.get("http://" + url, timeout=1000000)
print("I tried.")
except:
print("I failed.")

但是,由于稍后我的代码中存在一些冲突,我不想使用请求。关于如何在 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.")

关于python - urllib.request.Request 超时参数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50702869/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com