1

流行的 Python requests 模块去年发布到 1.0,并进行了许多向后不兼容的 API 更改。我确信它们很棒,但我正在尝试将一些现有代码移植到最新版本 1.1,但我无法弄清楚我所依赖的功能发生了什么。

具体来说,return_response关键字参数 torequests.get()不再有效并且requests.defaults不再存在。目前尚不清楚是否有任何方法可以设置max_retries。哎呀,我什至找不到宣布 Requests 1.0 的博客文章!Hacker News 上发布的链接是 404: http: //kennethreitz.org/announcing-requests-v100.html

因此,我要么正在寻找有关 Requests 1.0 与以前版本(我认为是 14.2)之间不兼容差异的指南,要么至少是对上述问题的一些帮助。

4

2 回答 2

0

以下是我发现的直接移植问题的解决方案:

# instead of
requests.get(..., return_response=false)
# use:
requests.Request(...).prepare()

# instead of
request.full_url
# use a requests.PreparedRequest and
request.url

# for an unsent request, instead of
request.send()
# use
s = requests.Session()
s.send(request)

# instead of
requests.defaults.defaults['max_retries'] = val
# use
requests.adapters.DEFAULT_RETRIES = val
于 2013-03-11T22:22:13.840 回答
0

自从提出这个问题后,文档中就添加了迁移指南。

于 2013-07-08T23:11:38.470 回答