Python 请求包关闭连接的方法不起作用

Python Request Package Close Connection Method Does not Work

这是我第一次在 jupyter notebook 中使用 REST API,我不知道我做错了什么。当我尝试在一个单元格中执行以下代码时,该单元格将永远运行而不会抛出任何错误。首先我没有包含请求包中的关闭方法,但后来我认为问题可能出在打开的连接上。然而,包括 close 方法也无济于事。你知道可能是什么原因吗?

api_key = "exampletoken"
header = {'authorization':"Bearer {}".format(api_key)}
payload = {}
r = request.post('exampleurl', headers = header, data = payload)
r.close()

提前致谢!

永远运行而不会抛出任何错误。

默认requests不会超时,所以可以无限等待。这可能会导致您描述的行为并且意味着服务器没有响应。要确定这是否是原因,请设置 timeout 例如

r = request.post('exampleurl', headers = header, data = payload, timeout=180)

如果没有得到响应,将在 180 秒(即 3 分钟)后引发异常。如果您想了解有关 requests 中超时的更多信息,我建议您阅读 realpython.com tutorial