Python 使用requests发送POST请求

这两天开发,经常用到后端访问别的接口,所以看了一下 ,后端发送请求,这里总结一下

1 ----------以form形式发送post请求

#定义访问的登录网址

url = 'http://httpbin.org/post'

#配置需要的数据

d = {'key1': 'value1', 'key2': 'value2'}

@发送请求

r = requests.post(url, data=d)

#打印返回结果

print(r.text)

# 输出

{
“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 ------------------以json形式发送post请求

url = 'http://httpbin.org/post'

s = json.dumps({'key1': 'value1', 'key2': 'value2'})

r = requests.post(url, data=s)

# 查看文本信息

print r.text

# 查看json解码后的信息

print r.json()

#  文本信息输出

{
“args”: {},
“data”: “{\”key2\”: \”value2\”, \”key1\”: \”value1\”}”,
“files”: {},
“form”: {},
“headers”: {
……
“Content-Type”: “application/json”,
……
},
“json”: {
“key1”: “value1”,
“key2”: “value2”
},
……
}



3 ------------以multipart形式发送post请求

url = 'http://httpbin.org/post'

files = {'file': open('report.txt', 'rb')}

r = requests.post(url, files=files)

print r.text

# 输出

{
“args”: {},
“data”: “”,
“files”: {
“file”: “Hello world!”
},
“form”: {},
“headers”: {……
“Content-Type”: “multipart/form-data; boundary=467e443f4c3d403c8559e2ebd009bf4a”,
……
},
“json”: null,
……
}


原文链接:https://blog.csdn.net/junli_chen/article/details/53670887















版权声明

翼安博客


首发 翼安博客,转载请附链接!

赞赏支持

感谢支持!


建站不易,感谢支持!

推荐阅读
web开发技术栈(框架)总结
Bootstrap-Layui-Amazeui-jQuery-vue-react-AngularJS-ci-Thinkphp-Yii-Laravel-Node-Django-springMVC-apache-nginx-mysql-redis…… 天呐,好多…… 小编虽说出身工业软件,但心里一直藏着一个UI梦。近两年,小编业余时间从零开始摸索web开发,把web开发常用的技术和框
3494

PHP7 引入的“??” 和“?:”的区别(三元运算符)
...
715

web前端开发技术储久良第三版第6章练习与实验答案
### [web前端开发技术储久良第三版答案整理(1-9章)](https://www.yixzm.cn/blog/367.html) 练习6 **1.选择题** (1)D (2)A (3)D(4)B **2.填空题** (1)``、``,`` (2)border="0" (3)矩形;圆形;多边形。 3.简答题 (1)设置滚动空白空间就是指滚动文字背景和它周围文字及图像之间的空白空间范围。默认
13779

web前端开发技术储久良第三版第2章练习与实验答案
### [web前端开发技术储久良第三版答案整理(1-9章)](https://www.yixzm.cn/blog/367.html) 练习2 **1.选择题** (1) B (2) D (3) A (4) B (5) A (6) B **2.填空题** (1) html、htm,index.html、default.html (2) head、body (3) 单、双,双,开
14943

web前端开发技术储久良第三版第12章练习与实验答案
### [web前端开发技术储久良第三版答案整理(10-17章)](https://www.yixzm.cn/blog/368.html) ** 1.选择题 ** (1)D (2)C (3)B (4)C (5)A ** 2.填空题 ** (1)post、get (2)浏览器、服务器 (3)``、name、size、multiple (4)textarea、rows、co
17056

web前端开发技术储久良第三版第13章练习与实验答案
### [web前端开发技术储久良第三版答案整理(10-17章)](https://www.yixzm.cn/blog/368.html) 练习13 ** 1.选择题 ** (1)C (2)A (3)D (4)C (5)A (6)D (7)B (8)D (9)C (10)D (11)C (12)A ** 2.填空题 ** (1)input、list、id。 (2) sr
12554

web前端开发技术储久良第三版第11章练习与实验答案
### [web前端开发技术储久良第三版答案整理(10-17章)](https://www.yixzm.cn/blog/368.html) 练习11 **1.选择题** (1)B (2)D (3)D (4)B (5)D (6)B **2.填空题** (1)``、 ``、`` (2) rowspan 、3、 Colspan 、 5 (3) frame、rules (4) cellspa
19074

web前端开发技术储久良第三版第10章练习与实验答案
### [web前端开发技术储久良第三版答案整理(10-17章)](https://www.yixzm.cn/blog/368.html) 练习12 **1.选择题** (1)B (2)A (3)C (4)D (5)A **2.简答题** (1)略 (2) display: none让对象不显示,原来不存在。 display:block—作用是显示特定对象;visibility: visib
21511

web前端开发技术储久良第三版答案整理(下:附录模拟试卷)
[web前端开发技术储久良第三版答案整理(下:附录模拟试卷)_诗和远方_弈心博客](https://www.yixzm.cn/blog/369.html) [web前端开发技术储久良第三版答案整理(中:10-17章)_诗和远方_弈心博客](https://www.yixzm.cn/blog/368.html) [web前端开发技术储久良第三版答案整理(上:1-9章)_诗和远方_弈心博客](ht
7646

web前端开发技术储久良第三版第5章练习与实验答案
### [web前端开发技术储久良第三版答案整理(1-9章)](https://www.yixzm.cn/blog/367.html) 练习5 **1.选择题** (1) D (2) C (3) B (4) C (5) B (6) A (7)B **2.填空题** (1) `href="mailto:someone@mail.com" ` (2) name、“#targe
5134

Web前端开发工程师面试(2020-9-15 面试笔试题目及回答思路指南)
面试题来自某互联网独角兽公司的前端开发工程师岗位面试记录,刚打听到的还很新鲜。 面试官和面试者小编都挺熟悉,所以内容具备一定参考价值。 面试中夹杂笔试,整个过程流程大体如下: ### 1 Q:简单做下自我介绍 A:这里是在问前端技术路线、技术面、技术成长规划,别有的没的讲一堆废话。 ### 2 Q:离职原因是什么? A:这里是问你,哪些原因会导致你离职?你工作的不稳定因素有哪些?你
1857

Web前端开发工程师笔试题(2019-3-28 整理16道,含答案)
前端时间因工作需要,整理了一套笔试题。 网上有许多套题,重复的比较多。出于笔试时间考虑,本文摘取16道,包含了CSS基本使用、时间绑定、定时器、存储、ajax和框架原理等内容。 题目偏简单,覆盖知识点勉强算全面。如果有更好的题目,也欢迎补充。 放着这里,希望能给正在准备面试的朋友们带来一点点价值。 ### 1. 一个200x200的div在不同分辨率屏幕上下左右居中,用css实现: di
2417