您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python中使用请求的查询字符串数组参数

Python中使用请求的查询字符串数组参数

你在做什么只是正确的。生成的网址与您期望的相同。

>>> payload = {'name': 'hello', 'data': 'hello'}
>>> r = requests.get("http://example.com/api/params", params=payload)

您可以看到结果网址:

>>> print(r.url)
http://example.com/api/params?name=hello&data=hello

根据网址格式

特别地,对查询字符串进行编码使用以下规则:

因此 array[]不会符合预期,将根据规则自动替换

如果您建立一个网址,例如:

`Build URL: http://example.com/api/add.json?name='hello'&data[]='hello'&data[]='world'`

输出将是:

>>> payload = {'name': 'hello', "data[]": 'hello','data[]':'world'}
>>> r = requests.get("http://example.com/api/params", params=payload)
>>> r.url
u'http://example.com/api/params?data%5B%5D=world&name=hello'

这是因为复制将被url中键的最后一个data[]替换,并将被替换data%5B%5D

如果data%5B%5D不是问题(如果服务器能够正确解析),那么您可以继续进行。

源链接

python 2022/1/1 18:46:52 有319人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶