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)
相关文章
|
2月前
|
存储 Web App开发 前端开发
Python + Requests库爬取动态Ajax分页数据
Python + Requests库爬取动态Ajax分页数据
|
2月前
|
Web App开发 安全 数据安全/隐私保护
利用Python+Requests实现抖音无水印视频下载
利用Python+Requests实现抖音无水印视频下载
|
2月前
|
JSON 网络安全 数据格式
Python网络请求库requests使用详述
总结来说,`requests`库非常适用于需要快速、简易、可靠进行HTTP请求的应用场景,它的简洁性让开发者避免繁琐的网络代码而专注于交互逻辑本身。通过上述方式,你可以利用 `requests`处理大部分常见的HTTP请求需求。
275 51
|
2月前
|
数据采集 API 调度
Python爬虫框架对比:Scrapy vs Requests在API调用中的应用
本文对比了 Python 中 Scrapy 与 Requests 两大爬虫框架在 API 调用中的差异,涵盖架构设计、调用模式、性能优化及适用场景,并提供实战建议,助力开发者根据项目需求选择合适工具。
|
3月前
|
JSON 数据格式 Python
解决Python requests库POST请求参数顺序问题的方法。
总之,想要在Python的requests库里保持POST参数顺序,你要像捋顺头发一样捋顺它们,在向服务器炫耀你那有条不紊的数据前。抓紧手中的 `OrderedDict`与 `json`这两把钥匙,就能向服务端展示你的请求参数就像经过高端配置的快递包裹,里面的商品摆放井井有条,任何时候开箱都是一种享受。
89 10
|
3月前
|
网络协议 API Python
解析http.client与requests在Python中的性能比较和改进策略。
最后,需要明确的是,这两种库各有其优点和适用场景。`http.client` 更适合于基础且并行的请求,`requests` 则因其易用且强大的功能,更适用于复杂的 HTTP 场景。对于哪种更适合你的应用,可能需要你自己进行实际的测试来确定。
113 10
|
Python
使用python之环境管理
情景1:不同python版本的管理 同一电脑上的多个python版本之前的管理,为了突出问题的普遍存在,下面是有人在segmentfault上提的问题。 摘自:http://segmentfault.com/q/1010000000162043 情景2:同一python版本中同一库的不同版本管理 例如在python2.7下应用A是基于Django1.6,应用B是基于Django1.7的,这种情况怎么管理。
1089 0
|
3月前
|
Python
Python编程基石:整型、浮点、字符串与布尔值完全解读
本文介绍了Python中的四种基本数据类型:整型(int)、浮点型(float)、字符串(str)和布尔型(bool)。整型表示无大小限制的整数,支持各类运算;浮点型遵循IEEE 754标准,需注意精度问题;字符串是不可变序列,支持多种操作与方法;布尔型仅有True和False两个值,可与其他类型转换。掌握这些类型及其转换规则是Python编程的基础。
211 33
|
2月前
|
数据采集 分布式计算 大数据
不会Python,还敢说搞大数据?一文带你入门大数据编程的“硬核”真相
不会Python,还敢说搞大数据?一文带你入门大数据编程的“硬核”真相
84 1

热门文章

最新文章

推荐镜像

更多