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 国际」许可协议进行许可。

posted @ 2020-06-06 15:29  Onsunsl  阅读(532)  评论(0)    收藏  举报
编辑推荐:
· 复杂业务系统线上问题排查过程
· 通过抓包,深入揭秘MCP协议底层通信
· 记一次.NET MAUI项目中绑定Android库实现硬件控制的开发经历
· 糊涂啊!这个需求居然没想到用时间轮来解决
· 浅谈为什么我讨厌分布式事务
阅读排行:
· 那些年我们一起追过的Java技术,现在真的别再追了!
· 还在手写JSON调教大模型?.NET 9有新玩法
· 为大模型 MCP Code Interpreter 而生:C# Runner 开源发布
· 面试时该如何做好自我介绍呢?附带介绍样板示例!!!
· JavaScript 编年史:探索前端界巨变的幕后推手
more_horiz
keyboard_arrow_up light_mode palette
选择主题
点击右上角即可分享
微信分享提示