Python requests multipart/form-data
multipart/form-data 一般用于文件流传输,请求数据比较大时使用
import requests
from collections import OrderedDict
url = "http://testgwpos.dmall.com/order/groupInfo"
# 构建有序字典参数按如下方式组织,也是模拟multipart/form-data的核心
params = OrderedDict([
("param", (None, '{"orderId":"53045085","nonceStr":"VSlwZKEJ157CqH24","posNo":"236","storeId":"112","channel":"cpos"}')),
("sign", (None, '55515FA6E5FB806E23A4BB55F291F5D4')),
])
res = requests.post(url, files=params)
print(res.request.body)
print(res.request.headers)
print(res.text)
Request Body:
--630fa44d7faead368db3a0d680b6d980
Content-Disposition: form-data; name="param"
{"orderId":"53045085","nonceStr":"VSlwZKEJ157CqH24","posNo":"236","storeId":"112","channel":"cpos"}
--630fa44d7faead368db3a0d680b6d980
Content-Disposition: form-data; name="sign"
55515FA6E5FB806E23A4BB55F291F5D4
--630fa44d7faead368db3a0d680b6d980--
Request Headers:
{'User-Agent': 'python-requests/2.23.0', 'Accept-Encoding': 'gzip, deflate',
'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Length': '340',
'Content-Type': 'multipart/form-data; boundary=630fa44d7faead368db3a0d680b6d980'}
Response Body:
{"code":"GWPOS23103","msg":"非待付款订单,请前往服务台查询~(GWPOS23103)",
"sourceMsg":"非待付款订单,请前往服务台查询~","data":null,"success":false}
作者:onsunsl
出处:https://www.cnblogs.com/onsunsl/p/PythonRequestsMultipartFormData.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
分类:
Python
· MySQL查询执行顺序:一张图看懂SQL是如何工作的
· 为什么PostgreSQL不自动缓存执行计划?
· 于是转身独立开发者
· C#.Net筑基-泛型T & 协变逆变
· dotnet 代码调试方法
· Cursor 实战万字经验分享,与 AI 编码的深度思考
· 精选 10 个 C#/.NET 开发必备开源库!
· 用 AI 制作超长视频,保姆级教程!
· C#:wpf ui 4.0 是如何实现页面导航的?
· Cursor 网页版来了,这下拉屎时也能工作了