requests如何在url中传递参数?

乙醇 创建于 8 个月 之前

最后更新时间 2018-09-11

官方文档

我们经常需要在请求中加参数,比如一些分页信息,每页返回的资源数量等。

如果我们手工去构造这些参数的话,我们会在url后面接?,然后传入key/value对,比如httpbin.org/get?key=val。多个key/value对以&分隔。

在Requests里,我们一般使用params关键字参数的方式,传入dict来传递url参数。比如,假设我们想传递key1=value1key2=value2这2个参数,我们可以用下面的代码

>>> payload = {'key1': 'value1', 'key2': 'value2'}
>>> r = requests.get('http://httpbin.org/get', params=payload)

可以通过url方法来查看requests帮我们构造的编码后的url

>>> print(r.url)
http://httpbin.org/get?key2=value2&key1=value1

我们还可以为同一个key传递一组数据,比如

>>> payload = {'key1': 'value1', 'key2': ['value2', 'value3']}

>>> r = requests.get('http://httpbin.org/get', params=payload)
>>> print(r.url)
http://httpbin.org/get?key1=value1&key2=value2&key2=value3

我要留言

暂无评论