9
requests 的 post 中的 data 如何按顺序进行封装?
source link: https://www.v2ex.com/t/797095
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
假设 data 如下 data={
a = '11',
b = '22',
c = 某个变量,
d = 另一个变量,
e = '33'
} 然后我 requests.post 理论来说 他 data 的顺序应该是 a=11&b=22.....依次按顺序,但是我测试抓包发现,他顺序是乱的,特别是变量,他可能会封装成 a=11&c=某个变量&d=另一个变量值&b=22..... 我想让他就按照从上往下的顺序进行封装起来,百度了下也没人问这类的问题,请问有解吗?
17 条回复 • 2021-08-21 15:52:45 +08:00
zhuzhuaini 2 天前
@ThirdFlame
@surbomfla
目前碰到个网页,比如我要上传 2 段文字,他的逻辑是先来一个 base64 文本 1 然后来一个“TXT[0]”再来个 base64 文本 2,然后再来个"TXT[1]",如果顺序不对的话他就没法识别两段文字了(因为顺序变成了 base1,base2,txt0,txt1 )
@surbomfla
目前碰到个网页,比如我要上传 2 段文字,他的逻辑是先来一个 base64 文本 1 然后来一个“TXT[0]”再来个 base64 文本 2,然后再来个"TXT[1]",如果顺序不对的话他就没法识别两段文字了(因为顺序变成了 base1,base2,txt0,txt1 )
Trim21 2 天前
你传的这个 data 是 built-in 的 dict 类型吗?
requests 内部调用的是 data.items(),我试了一下是有序的啊
r = requests.post("https://httpbin.org/post", data=data)
print(type(r.request.body), r.request.body)
requests 内部调用的是 data.items(),我试了一下是有序的啊
r = requests.post("https://httpbin.org/post", data=data)
print(type(r.request.body), r.request.body)
zhuzhuaini 2 天前
RRRoger 1 天前
requests 的 data 和 json 两个参数的区别 楼主是不是有点模糊
data: A dictionary, list of tuples, bytes or a file object to send to the specified url
json: A JSON object to send to the specified url
data: A dictionary, list of tuples, bytes or a file object to send to the specified url
json: A JSON object to send to the specified url
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK