如何在Python Requests中设置带重复参数的API GET请求?
解决requests库中重复URL参数的传递问题
当你用字典传递参数时,因为字典的键具有唯一性,重复的metanames键会被后面的值覆盖,所以无法生成重复的URL参数。要实现和直接拼接URL相同的效果,你需要将重复参数的值设置为列表:
params = {'metanames': ['part1', 'part2']} url = "http://example.com/api" res = requests.get(url=url, params=params)
requests库会自动将列表格式的参数转换为重复的键值对形式,最终生成的URL会是http://example.com/api?metanames=part1&metanames=part2,和你直接拼接的效果完全一致。
如果还有其他非重复参数,直接正常添加到字典里即可,比如:
params = { 'someargs': 'your_value', 'metanames': ['part1', 'part2'] }
这样生成的URL会包含someargs=your_value&metanames=part1&metanames=part2,完全符合需求。
内容的提问来源于stack exchange,提问作者dhc
相关产品推荐
相关产品推荐

