Python3下requests库发送multipart/form-data类型请求
[本文出自天外归云的博客园]
要模拟multipart/form-data类型请求,可以用python3的requests库完成。代码示例如下:
#请求的接口url
url = "url" #假设待上传文件与脚本在同一目录下
dir_path = os.path.abspath(os.path.dirname(__file__))
#待上传文件的路径,这里假设文件名为test.txt
file_path = os.path.join(dir_path,'test.txt') '''
field_1,field_2...field_n代表普通字段名
value_1,value_2...value_n代表普通字段值
files为文件类型字段 实际应用中字段名field_n均需要替换为接口抓包得到的实际字段名
对应的字段值value_n也需要替换为接口抓包得到的实际字段值
'''
files={
'field_1':(None,'value_1'),
'field_2':(None,'value_2'),
...
'field_n':(None,'value_n'),
'files':('test.txt',open(file_path,'rb'),'text/plain'),
} r = s.post(url,files=files)
Python3下requests库发送multipart/form-data类型请求的更多相关文章
- 使用requests库提交multipart/form-data 格式的请求
前言: Requests是用Python语言编写,基于urllib,采用Apache2 Licensed开源协议的HTTP库.它比urllib更加方便,可以节约我们大量的工作,完全满足HTTP测试需求 ...
- 『居善地』接口测试 — 4、Requests库发送GET请求
目录 1.使用Requests库发送带参数的GET请求 2.查看GET请求的内容 3.带请求头.参数的Get请求 Requests库GET请求是使用HTTP协议中的GET请求方式对目标网站发起请求. ...
- 大概看了一天python request源码。写下python requests库发送 get,post请求大概过程。
python requests库发送请求时,比如get请求,大概过程. 一.发起get请求过程:调用requests.get(url,**kwargs)-->request('get', url ...
- 『居善地』接口测试 — 5、使用Requests库发送POST请求
目录 1.请求正文是application/x-www-form-urlencoded 2.请求正文是raw (1)json格式文本(application/json) (2)xml格式文本(text ...
- 【python接口自动化】- 使用requests库发送http请求
前言:什么是Requests ?Requests 是⽤Python语⾔编写,基于urllib,采⽤Apache2 Licensed开源协议的 HTTP 库.它⽐ urllib 更加⽅便,可以节约我们⼤ ...
- python3添加requests库
1.资源下载 https://codeload.github.com/psf/requests/zip/master https://www.python.org/ https://files.pyt ...
- requests模块发送带headers的Get请求和带参数的请求
1.在PyCharm开发工具中新建try_params.py文件: 2.try_params.py文件中编写代码: import requests#设置请求Headers头部header = {&qu ...
- Python3中requests库学习01(常见请求示例)
1.请求携带参数的方式1.带数据的post data=字典对象2.带header的post headers=字典对象3.带json的post json=json对象4.带参数的post params= ...
- Python3 使用requests库读取本地保存的cookie文件实现免登录访问
1. 读取selenium模块保存的本地cookie文件来访问知乎 读取http://www.cnblogs.com/strivepy/p/9233389.html保存的本地cookie来访问知乎的 ...
随机推荐
- 有关memcached企业面试案例讲解
有关memcached企业面试案例讲解 1.Memcached是什么,有什么作用? a. memcached是一个开源的.高性能的内存的缓存软件,从名称上看Mem就是内存的意思,而Cache就是 ...
- 【ASP.NET】@RenderBody,@RenderPage,@RenderSection的使用
@RenderBody @RenderBody是布局页(_Layout.cshtml)通过占位符@RenderBody占用独立部分,当创建基于此布局页的试图时,视图的内容会和布局页合并,而新创建的视图 ...
- MongoDB----逻辑与物理存储结构
基本的操作 一.常用的命令和基础知识 1.进入MongoDB shell 首先我们进入到MongoDB所在目录执行 cd /work/app/mongodb/bin/ #启动 ./mongo 为了方便 ...
- 基于C/S模式的android手机与PC机通信系统的开发
原文链接: http://blog.csdn.net/nupt123456789/article/details/8213486 基于C/S模式的android手机与PC机通信系统的开发 作者:郑海波 ...
- 关于switch语句中使用String类型的实现原理
在Java 7 以后,switch语句可以用作String类型上. 从本质来讲,switch对字符串的支持,其实也是int类型值的匹配.它的实现原理如下: 通过对case后面的String对象调用ha ...
- 变量命名神器Codelf
个人感觉,当觉得命名困难的时候,其实是因为还没有想清楚这个变量.这个方法或者这个类是要干什么,还不能用一个或几个词准确描述它的工作,才觉得无法命名,这是命名的最困难的阶段.而只要想清楚了它的任务,命名 ...
- 坑爹的高德地图API
症状 ld: '-[MASearch poiSearchWithOption:]' in *****/Release-iphonesimulator/libMASearchKit.a(MASearch ...
- Effective C++ 34
34.将文件间的编译依赖性降到最低. 对于一个大型程序,其结构是错综复杂的.当你对一个类进行一些改动时.改动的不是接口,而是类的实现,即仅仅是一些细节部分,但又一次生成程序时,所实用到这个类的的文件都 ...
- 比较@Resource、@Autowired
@Resource @Resource默认按byName自动注入.既不指定name属性,也不指定type属性,则自动按byName方式进行查找.如果没有找到符合的bean,则回退为一个原始类型进行进行 ...
- jenkins 批量修改 去掉勾选Build whenever a SNAPSHOT dependency is built
进入jenkins 的jobs的上一层目录 执行 sed -i 's/<ignoreUpstremChanges>false<\/ignoreUpstremChanges>/& ...