Python 使用requests发送POST请求
一个http请求包括三个部分,为别为请求行,请求报头,消息主体,类似以下这样:
请求行
请求报头
消息主体
HTTP协议规定post提交的数据必须放在消息主体中,但是协议并没有规定必须使用什么编码方式。服务端通过是根据请求头中的Content-Type字段来获知请求中的消息主体是用何种方式进行编码,再对消息主体进行解析。具体的编码方式包括:
- application/x-www-form-urlencoded
最常见post提交数据的方式,以form表单形式提交数据。 - application/json
以json串提交数据。 - multipart/form-data
一般使用来上传文件。
2.7.1 以form形式发送post请求
Reqeusts支持以form表单形式发送post请求,只需要将请求的参数构造成一个字典,然后传给requests.post()的data
参数即可。
url = 'http://httpbin.org/post'
d = {'key1': 'value1', 'key2': 'value2'}
r = requests.post(url, data=d)
print r.text
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
输出:
{
“args”: {},
“data”: “”,
“files”: {},
“form”: {
“key1”: “value1”,
“key2”: “value2”
},
“headers”: {
……
“Content-Type”: “application/x-www-form-urlencoded”,
……
},
“json”: null,
……
}
可以看到,请求头中的Content-Type字段已设置为application/x-www-form-urlencoded,且d = {'key1': 'value1', 'key2': 'value2'}
以form表单的形式提交到服务端,服务端返回的form字段即是提交的数据。
2.7.2 以json形式发送post请求
可以将一json串传给requests.post()的data参数,
url = 'http://httpbin.org/post'
s = json.dumps({'key1': 'value1', 'key2': 'value2'})
r = requests.post(url, data=s)
print r.text
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
输出:
{
“args”: {},
“data”: “{\”key2\”: \”value2\”, \”key1\”: \”value1\”}”,
“files”: {},
“form”: {},
“headers”: {
……
“Content-Type”: “application/json”,
……
},
“json”: {
“key1”: “value1”,
“key2”: “value2”
},
……
}
可以看到,请求头的Content-Type设置为application/json,并将s
这个json串提交到服务端中。
2.7.3 以multipart形式发送post请求
Requests也支持以multipart形式发送post请求,只需将一文件传给requests.post()的files
参数即可。
url = 'http://httpbin.org/post'
files = {'file': open('report.txt', 'rb')}
r = requests.post(url, files=files)
print r.text
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
输出:
{
“args”: {},
“data”: “”,
“files”: {
“file”: “Hello world!”
},
“form”: {},
“headers”: {……
“Content-Type”: “multipart/form-data; boundary=467e443f4c3d403c8559e2ebd009bf4a”,
……
},
“json”: null,
……
}
文本文件report.txt的内容只有一行:Hello world!,从请求的响应结果可以看到数据已上传到服务端中。
Python 使用requests发送POST请求相关推荐
- Python 技术篇-requests发送post请求传文件给flask服务端报405、400问题解决方法
这是我 flask 服务端的一块代码,可以看到有个 methods=['GET', 'POST'],如果没有这个参数,发送请求就会报 405,因为默认能只接收到 get 请求,接收不到 post 请求 ...
- Python 使用requests发送POST请求总结
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/junli_chen/article/details/53670887 一个http请求包括三个部分, ...
- Python接口测试- requests 发送 post 请求的几种方法
目录 前言: 发送 json 格式的数据 前言: 想了解更多相关知识请关注我吧!或者点击这里领取全套[软件测试/自动化测试]海量资料免费领取 POST 请求用于向服务器发送数据.与 get 相比更安 ...
- python post请求实例_Python使用requests发送POST请求实例代码
本文研究的主要是Python使用requests发送POST请求的相关内容,具体介绍如下. 一个http请求包括三个部分,为别为请求行,请求报头,消息主体,类似以下这样: 请求行 请求报头 消息主体 ...
- Python 使用 Scrapy 发送 post 请求的坑
From:https://www.jb51.net/article/146769.htm 使用 requests 发送 post 请求 先来看看使用requests来发送post请求是多少好用,发送请 ...
- requests发送post请求的一些疑点
requests发送post请求的一些疑点 前言 在Python爬虫中,使用requests发送请求,访问指定网站,是常见的做法.一般是发送GET请求或者POST请求,对于GET请求没有什么好说的,而 ...
- requests发送http请求
requests发送http请求 发送请求:(数据获取.乱码解决) import requests response = requests.get('http://www.baidu.com') # ...
- python绘制蚊香形_Python requests发送post请求的一些疑点
前言 在Python爬虫中,使用requests发送请求,访问指定网站,是常见的做法.一般是发送GET请求或者POST请求,对于GET请求没有什么好说的,而发送POST请求,有很多朋友不是很清楚,主要 ...
- python+pytest接口自动化框架(5)-requests发送post请求
在HTTP协议中,与get请求把请求参数直接放在url中不同,post请求的请求数据需通过消息主体(request body)中传递. 且协议中并没有规定post请求的请求数据必须使用什么样的编码方式 ...
最新文章
- 中国云计算市场加速发展 今年有望突破3000亿
- CS231n 学习笔记(3)——神经网络 part3 :最优化
- androidHandler讲解
- ABAP 使用DYNP_VALUES_READ来获取屏幕字段值
- linux怎么运行ofstream,ofstream和ifstream详细用法---转
- flutter获取Android照片地址,Flutter项目安卓配置启动图片
- php过滤4字节的字符串,过滤utf8 字符中超过三个字节的字符,或者非utf8字符
- [csp-201809-4]再卖菜 差分约束or记忆化搜索
- samba服务器的设置
- TM1640操作源码--LED驱动IC
- java lifo_java:stack栈: Stack 类表示后进先出(LIFO)的对象堆栈
- js 实现简单区块链
- 7-2 符号配对 (20 分) c语言版
- 华硕电脑连接不上wifi_华硕电脑连不上无线网怎么办
- Django 教程之数据库模型
- 【C语言管理系统】 医院住院病人信息管理系统
- 使用d3画横向组织架构图,兼容ie8(一)
- dapi 基于Django的轻量级接口测试平台一
- 科普:什么是图灵机?
- 极光推送收费标准_《天涯明月刀OL腾讯旗下 北极光工作室的 厄运魔咒:“做什么凉什么”》...
热门文章
- 屌丝逆袭,通过相亲实现阶层跃迁的秘诀
- RT-Thread 简介 https://www.rt-thread.org/
- matlab机器学习安装,机器学习(一):学习环境搭建
- linux otl 连接mysql_Linux下用OTL操作MySql(包括自己封装的类库及示例代码下载)...
- 小鹏汽车回应“侵犯消费者权益被罚3000元”:已于3月8日对购车协议内容进行调整...
- 押中三位奥运冠军 元气森林“赢麻了”
- Meta宣布将关闭面部识别系统 删除超10亿用户面部扫描数据
- 国产特斯拉Model Y已开始向欧洲用户交付
- 苹果又遭集体诉讼,网友拍手:干得漂亮......
- 亚洲新首富出炉!富豪榜单大洗牌,马云3年来首次跌出中国前三