当前位置: 首页 > news >正文

requests处理 multipart/form-data 请求以及 boundary值问题

requests处理 multipart/form-data 请求以及 boundary值问题

  • 前言
    • 1. 请求需要携带本地资源
    • 2. 请求需要携带json
    • 3. 总结

前言

关于 Content-type: multipart/form-data可以看一下这篇文章, 分析特别详细
HTTP协议之multipart/form-data请求分析

put和post区别不大, 只是上传资源的不同方式
requests页面常用操作(post、put、get、head、patch、delete方法)

1. 请求需要携带本地资源

import requests
from requests_toolbelt import MultipartEncoderheaders = {'Cookie': f'1QAZ2WSX3EDC={cookie}; __RequestVerificationToken={token}','Upgrade-Insecure-Requests': '1'}excel_file = open(file, 'rb')
multipart_encoder = MultipartEncoder(fields={'ConfirmationCategory': (None, '3'),'file': (file_name, excel_file, "application/vnd.ms-excel.sheet.macroEnabled.12"),'path': (None, f'C:\\fakepath\\f{file_name}'),'EngagementCode': (None, engagement_code),'isUseTool': (None, '0'),'Category': (None, '3'),'TemplateID': (None, '1'), },boundary='------WebKitFormBoundaryGBsSQdG8BdI5tzVZ')headers['Content-Type'] = multipart_encoder.content_typesession = requests.Session()
response = session.post(url=url, auth=AUTH, headers=headers)

2. 请求需要携带json

from requests_toolbelt.multipart.encoder import MultipartEncoder
import requestsheaders = {"Accept": "*/*","Accept-Encoding": "gzip, deflate, br","Accept-Language": "zh-CN,zh;q=0.9","Referer": "http://app.yjglj.sh.gov.cn/xzsp/DispatchAction.do?efFormEname=CXFW0102","Content-Type": "multipart/form-data; boundary=----WebKitFormBoundarygmHpU6AdOmQPE19B","Host": "app.yjglj.sh.gov.cn","User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36"
}
form_data = MultipartEncoder(fields={"method": 'queryWhscxk',"params": '{"companyName": "", "registrationNumber": "沪WH安许证字[2021]0001"}'},boundary='----WebKitFormBoundarygmHpU6AdOmQPE19B'
)
headers.update({'Content-Type': form_data.content_type})
res = requests.post("http://app.yjglj.sh.gov.cn/xzsp/wxGzhServlet", data=form_data, headers=headers, timeout=10)
print(res.text)

3. 总结

关于 put 和 multipart/form-data 就这么多了, 还有一些其他代码也可以参考一下
Python requests库处理 multipart/form-data 请求以及 boundary值问题

http://www.lryc.cn/news/172711.html

相关文章:

  • FBX文件结构解读【文本格式】
  • JS基础语法
  • 【Zabbix监控一】zabbix的原理与安装
  • 图的十字链表存储结构
  • 精华回顾:Web3 前沿创新者在 DESTINATION MOON 共话未来
  • 【RPC】gRPC 安装及使用
  • Pygame中Sprite类的使用3
  • 23年下考前须知-软考中级信息安全工程师
  • 关于表单快速开发低代码技术平台的内容介绍
  • 比特币 ZK 赏金系列:第 1 部分——支付解密密钥
  • 【Python深度学习】深度学习中框架和模型的区别
  • MyBatis面试题(二)
  • Android之MediaMetricsService实现本质(四十二)
  • Flutter超好用的路由库-fluro
  • 约数个数(蓝桥杯)
  • 越狱(快速幂C++)
  • 电脑入门:怎么进入路由器设置
  • Vue3大屏项目实现数字跳动的效果
  • MATLAB打开历史命令窗口并保持
  • 等差数列和等比数列 常用公式
  • 基于SpringBoot+Vue的MOBA类游戏攻略分享平台
  • 基于异常上线场景的实时拦截与问题分发策略
  • MySQL常见面试题(一)
  • webpack:详解entry和output一些重要API的使用
  • Spring后处理器-BeanPostProcessor
  • 每日一题~修剪二叉树
  • 图像形态学操作(连通性、腐蚀、膨胀)
  • 中国这么多 Java 开发者,应该诞生出生态级应用开发框架
  • 仿猫扑盒子引流神器试看神马视频-红包打卡签到领金
  • WhatsApp自动营销软件是真实的吗?对做外贸有帮助吗?