前言
使用傳統的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)
運行結果