前言
使用传统的http发get请求时,如果传参为array数组,参数名称为a时,可以这样传值a=1&a=2&a=3,但是当只有一个时,这种方式就不合理了。
get请求还有另外一种方式传array数组,在参数名称后面加个[],如:a[]=1,2,3
参数名称一样
如果抓包看到是这种格式:http://www.example.com/?a=1&a=2&a=3
平常传参是字典键值对方式,这里key都一样了,python里面dict是不能有重复的,所以对于python代码可以这样写
import requests url="http://www.example.com" params=[ ["a","1"], ["a","2"], ["a","3"] ] r=requests.get(url,params=params) print(r.url) print(r.text)
运行结果
get参数传array数组
如果get请求的参数直接是传的array数组,如抓包看到是这种格式:http://www.example.com/?a[]=1,2,3
import requests from urllib.parse import unquote url="http://www.example.com" params={"a[]":"1,2,3"} r=requests.get(url,params=params) print(r.url) print(unquote(r.url)) print(r.text)
运行结果