python处理multipart/form-data的请求方法


Posted in Python onDecember 26, 2018

方法1:

import requests
url = "http://www.xxxx.net/login"

#参数拼凑,附件上传格式如picurl参数,其他表单参数值拼成tuple格式:
2-tuples (filename, fileobj), 
3-tuples (filename, fileobj, contentype),
4-tuples (filename, fileobj, contentype, custom_headers)

files = {"username": (None, "billy"), "password": (None, "abcd1234"),
  'picUrl': ('pic.png', open('E:\\download\\pic.png', 'rb'), 'image/png')}

#如需headers,不需要赋值Content-Type,不然可能会报错
res = requests.post(url, files=files)
print res.request.body
print res.request.headers

方法2:

安装requests_toolbelt

pip install requests-toolbelt

实现代码

a.发送文件中的数据

from requests_toolbelt import MultipartEncoder
import requests

m = MultipartEncoder(
 fields={'field0': 'value', 'field1': 'value',
   'field2': ('filename', open('file.py', 'rb'), 'text/plain')},
 )
r = requests.post('http://httpbin.org/post', data=m,
     headers={'Content-Type': m.content_type})

b.不需要文件

from requests_toolbelt import MultipartEncoder
import requests
m = MultipartEncoder(fields={'field0': 'value', 'field1': 'value'})
r = requests.post('http://httpbin.org/post', data=m,
     headers={'Content-Type': m.content_type})

以上这篇python处理multipart/form-data的请求方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python的Flask框架与数据库连接的教程
Apr 20 Python
Python实现比较扑克牌大小程序代码示例
Dec 06 Python
python实现定时自动备份文件到其他主机的实例代码
Feb 23 Python
python 定时修改数据库的示例代码
Apr 08 Python
python和pygame实现简单俄罗斯方块游戏
Feb 19 Python
3行Python代码实现图像照片抠图和换底色的方法
Oct 10 Python
python实现文法左递归的消除方法
May 22 Python
python 偷懒技巧——使用 keyboard 录制键盘事件
Sep 21 Python
python如何写个俄罗斯方块
Nov 06 Python
使用Python下载抖音各大V视频的思路详解
Feb 06 Python
Python爬虫入门案例之爬取去哪儿旅游景点攻略以及可视化分析
Oct 16 Python
使用Python获取字典键对应值的方法
Apr 26 Python
Python实现的简单线性回归算法实例分析
Dec 26 #Python
Python基于聚类算法实现密度聚类(DBSCAN)计算【测试可用】
Dec 26 #Python
python使用knn实现特征向量分类
Dec 26 #Python
python调用staf自动化框架的方法
Dec 26 #Python
Django unittest 设置跳过某些case的方法
Dec 26 #Python
python 2.7 检测一个网页是否能正常访问的方法
Dec 26 #Python
在python中使用requests 模拟浏览器发送请求数据的方法
Dec 26 #Python
You might like
日本十大惊悚动漫
2020/03/04 日漫
php获取网卡的MAC地址支持WIN/LINUX系统
2014/04/30 PHP
getimagesize获取图片尺寸实例
2014/11/15 PHP
php实现面包屑导航例子分享
2015/12/19 PHP
PHP微信支付结果通知与回调策略分析
2019/01/10 PHP
面向对象的javascript(笔记)
2009/10/06 Javascript
基于jquery的用鼠标画出可移动的div
2012/09/06 Javascript
JavaScript事件处理器中的event参数使用介绍
2013/05/24 Javascript
jquery中html、val与text三者属性取值的联系与区别介绍
2013/12/29 Javascript
Js制作点击输入框时默认文字消失的效果
2015/09/05 Javascript
React创建组件的三种方式及其区别
2017/01/12 Javascript
JavaScript实现的原生态Tab标签页功能【兼容IE6】
2017/09/18 Javascript
vue在使用ECharts时的异步更新和数据加载详解
2017/11/22 Javascript
解析Json字符串的三种方法日常常用
2018/05/02 Javascript
详解vue中使用微信jssdk
2019/04/19 Javascript
JS防抖和节流实例解析
2019/09/24 Javascript
解决vue路由name同名,路由重复的问题
2020/08/05 Javascript
[04:27]2014DOTA2国际邀请赛 NAVI战队官方纪录片
2014/07/21 DOTA
[56:13]DOTA2-DPC中国联赛定级赛 LBZS vs Phoenix BO3第一场 1月10日
2021/03/11 DOTA
Python数据结构与算法之图的最短路径(Dijkstra算法)完整实例
2017/12/12 Python
100行python代码实现跳一跳辅助程序
2018/01/15 Python
详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数
2018/04/18 Python
Python单向链表和双向链表原理与用法实例详解
2018/08/31 Python
Python3爬虫学习之爬虫利器Beautiful Soup用法分析
2018/12/12 Python
Django文件上传与下载(FileFlid)
2019/10/06 Python
基于HTML5的WebGL实现json和echarts图表展现在同一个界面
2017/10/26 HTML / CSS
Joules官网:女士、男士和儿童服装和鞋类
2018/10/23 全球购物
股份合作协议书范本
2014/04/14 职场文书
公司领导班子对照材料
2014/08/18 职场文书
2015年超市收银员工作总结
2015/04/25 职场文书
六年级作文之家庭作文
2019/12/12 职场文书
Django给表单添加honeypot验证增加安全性
2021/05/06 Python
通过Qt连接OpenGauss数据库的详细教程
2021/06/23 PostgreSQL
Python实现列表拼接和去重的三种方式
2021/07/02 Python
php 文件上传至OSS及删除远程阿里云OSS文件
2021/07/04 PHP
MySQL图形化管理工具Navicat安装步骤
2021/12/04 MySQL