python 使用requests发送POST请求

简介: python 使用requests发送POST请求

一、定义

  • post()方法将携带某些数据的POST请求发送到指定的URL

二、应用场景

  1. 提交表单所涉及到的增删改操作。
  2. 调用API,例如百度云的文字识别接口、阿里云的常用支付接口,都需要用POST请求。
  3. 发送/上传图片、音视频等文件资源。

三、使用方法

1)导入模块

importrequests

2)封装数据

将要发送的数据封装到data中,封装形式可以是字典、json、元组等。

# 发送字典post_dict= {'key1': 'value1', 'key2': 'value2'}
# 发送元组post_tuple= (('key1', 'value1'), ('key1', 'value2'))
# 发送jsonpost_json=json.dumps({'some': 'data'})
r1=requests.post("http://httpbin.org/post", data=post_dict)
r2=requests.post("http://httpbin.org/post", data=post_tuple)
r3=requests.post("http://httpbin.org/post", data=post_json)

3)定制header头和cookie信息

cookie="token=code_space;"header= {
"cookie": cookie,
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "zh-CN,zh;q=0.9",
"Connection": "keep-alive",
"Content-Type": "application/json",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) ""AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36"}

四、测试demo

# -*- coding: utf-8 -*-"""@Time : 2022/1/18 11:36@Auth : 技术空间@File :post_demo.py@IDE :PyCharm@Motto:技术总是要日积月累的"""importrequestsimportjsonif__name__=='__main__':
cookie="token=code_space;"header= {
"cookie": cookie,
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "zh-CN,zh;q=0.9",
"Connection": "keep-alive",
"Content-Type": "application/json",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36"    }
# 发送字典post_dict= {'key1': 'value1', 'key2': 'value2'}
# 发送元组post_tuple= (('key1', 'value1'), ('key1', 'value2'))
# 发送jsonpost_json=json.dumps({'some': 'data'})
r1=requests.post("http://httpbin.org/post", data=post_dict, headers=header, cookie=cookie)
r2=requests.post("http://httpbin.org/post", data=post_tuple, headers=header, cookie=cookie)
r3=requests.post("http://httpbin.org/post", data=post_json, headers=header, cookie=cookie)
print("r1返回的内容为-->"+r1.text)
print("r2返回的内容为-->"+r2.text)
print("r3返回的内容为-->"+r3.text)
相关文章
|
15天前
|
数据采集 前端开发 算法
Python Requests 的高级使用技巧:应对复杂 HTTP 请求场景
本文介绍了如何使用 Python 的 `requests` 库应对复杂的 HTTP 请求场景,包括 Spider Trap(蜘蛛陷阱)、SESSION 访问限制和请求频率限制。通过代理、CSS 类链接数控制、多账号切换和限流算法等技术手段,提高爬虫的稳定性和效率,增强在反爬虫环境中的生存能力。文中提供了详细的代码示例,帮助读者掌握这些高级用法。
Python Requests 的高级使用技巧:应对复杂 HTTP 请求场景
|
8天前
|
数据采集 JSON 测试技术
Python爬虫神器requests库的使用
在现代编程中,网络请求是必不可少的部分。本文详细介绍 Python 的 requests 库,一个功能强大且易用的 HTTP 请求库。内容涵盖安装、基本功能(如发送 GET 和 POST 请求、设置请求头、处理响应)、高级功能(如会话管理和文件上传)以及实际应用场景。通过本文,你将全面掌握 requests 库的使用方法。🚀🌟
28 7
|
24天前
|
网络协议 数据库连接 Python
python知识点100篇系列(17)-替换requests的python库httpx
【10月更文挑战第4天】Requests 是基于 Python 开发的 HTTP 库,使用简单,功能强大。然而,随着 Python 3.6 的发布,出现了 Requests 的替代品 —— httpx。httpx 继承了 Requests 的所有特性,并增加了对异步请求的支持,支持 HTTP/1.1 和 HTTP/2,能够发送同步和异步请求,适用于 WSGI 和 ASGI 应用。安装使用 httpx 需要 Python 3.6 及以上版本,异步请求则需要 Python 3.8 及以上。httpx 提供了 Client 和 AsyncClient,分别用于优化同步和异步请求的性能。
python知识点100篇系列(17)-替换requests的python库httpx
|
1月前
|
存储 网络协议 API
详解Python中的Requests会话管理
详解Python中的Requests会话管理
|
1月前
|
JSON 缓存 API
在 Python 中使用公共类处理接口请求的响应结果
在 Python 中使用公共类处理接口请求的响应结果
28 1
|
1月前
|
监控 安全 中间件
Python requests 如何避免被 Gzip 炸弹攻击
Python requests 如何避免被 Gzip 炸弹攻击
27 0
|
1月前
|
Python 容器
AutoDL Python实现 自动续签 防止实例过期释放 小脚本 定时任务 apscheduler requests
AutoDL Python实现 自动续签 防止实例过期释放 小脚本 定时任务 apscheduler requests
24 0
|
1月前
|
JSON API 开发者
深入解析Python网络编程与Web开发:urllib、requests和http模块的功能、用法及在构建现代网络应用中的关键作用
深入解析Python网络编程与Web开发:urllib、requests和http模块的功能、用法及在构建现代网络应用中的关键作用
15 0
|
2天前
|
Python
不容错过!Python中图的精妙表示与高效遍历策略,提升你的编程艺术感
本文介绍了Python中图的表示方法及遍历策略。图可通过邻接表或邻接矩阵表示,前者节省空间适合稀疏图,后者便于检查连接但占用更多空间。文章详细展示了邻接表和邻接矩阵的实现,并讲解了深度优先搜索(DFS)和广度优先搜索(BFS)的遍历方法,帮助读者掌握图的基本操作和应用技巧。
13 4
下一篇
无影云桌面