Python requests get和post方法发送HTTP请求

requests.get()

requests.get() 方法用于发送 HTTP GET 请求。下面介绍 requests.get() 方法的常用参数:

  1. url: 发送请求的 URL 地址。
  2. params: URL 中的查询参数,可以是字典或字符串。
  3. headers: 请求头信息。可以是字典类型,也可以是自定义的 Headers 类型。
  4. auth: HTTP 认证信息,可以是元组类型,第一个元素为用户名,第二个元素为密码。
  5. cookies: 发送的 Cookies 信息,可以是字典类型。
  6. timeout: 请求超时时间,可以是浮点数或元组类型,分别表示连接超时和读取超时时间。
  7. allow_redirects: 是否允许重定向,默认为 True。
  8. proxies: 代理服务器信息,可以是字典类型,键为协议名(http/https),值为代理地址。
  9. verify: 是否验证 SSL 证书,默认为 True。
  10. cert: 客户端证书文件路径,可以是字符串或元组类型,分别表示证书文件和私钥文件。

例如,下面的代码演示了如何使用 requests.get() 方法发送一个带有查询参数的 GET 请求:

复制代码
import requests

url = 'https://example.com/api'
params = {'name': 'John', 'age': 30}

response = requests.get(url, params=params)

在这个例子中,我们指定了 url 参数为目标 API 的地址,params 参数为包含查询参数的字典。requests 库会自动将字典转换为查询字符串,并将其添加到 URL 中。最后,将返回的响应对象保存在 response 变量中供后续处理。

除了上述介绍的参数,requests.get() 方法还支持其他一些高级用法,例如通过 stream 参数控制是否使用流式传输、通过 hooks 参数注册回调函数等。详细的参数列表和使用示例可以参考 requests 官方文档。

requests.post()

requests.post() 方法用于发送 HTTP POST 请求。下面介绍 requests.post() 方法的常用参数:

  1. url: 发送请求的 URL 地址。
  2. data: 发送的数据。可以是字典、元组列表或字符串等类型。
  3. json: 发送的 JSON 数据,与 data 参数互斥。
  4. headers: 请求头信息。可以是字典类型,也可以是自定义的 Headers 类型。
  5. params: URL 中的查询参数,可以是字典或字符串类型。
  6. auth: HTTP 认证信息,可以是元组类型,第一个元素为用户名,第二个元素为密码。
  7. cookies: 发送的 Cookies 信息,可以是字典类型。
  8. files: 发送的文件信息,可以是字典类型,键为文件名,值为文件对象。
  9. timeout: 请求超时时间,可以是浮点数或元组类型,分别表示连接超时和读取超时时间。
  10. allow_redirects: 是否允许重定向,默认为 True。
  11. proxies: 代理服务器信息,可以是字典类型,键为协议名(http/https),值为代理地址。
  12. verify: 是否验证 SSL 证书,默认为 True。
  13. cert: 客户端证书文件路径,可以是字符串或元组类型,分别表示证书文件和私钥文件。

例如,下面的代码演示了如何使用 requests.post() 方法发送一个包含 JSON 数据的 POST 请求:

复制代码
import requests
import json

url = 'https://example.com/api'
data = {'name': 'John', 'age': 30}
headers = {'Content-Type': 'application/json'}

response = requests.post(url, data=json.dumps(data), headers=headers)

在这个例子中,我们指定了 url 参数为目标 API 的地址,data 参数为包含 JSON 数据的字典,使用了 json.dumps() 将字典转换为 JSON 字符串,headers 参数指定了请求头信息,表示这是一个包含 JSON 数据的请求。最后,将返回的响应对象保存在 response 变量中供后续处理。

相关推荐
装不满的克莱因瓶几秒前
掌握语义分割经典模型 FCN——从像素分类到端到端分割的奠基之作
人工智能·python·深度学习·算法·机器学习·分类·数据挖掘
noravinsc12 分钟前
关于PEP8
python
DXM052121 分钟前
第14期|高阶分割模型:Transformer/SegFormer遥感应用
人工智能·python·神经网络·算法·计算机视觉·cnn·ageo
糖果店的幽灵21 分钟前
软件测试接口测试从入门到精通:Python接口自动化 - pytest测试框架
软件测试·python·功能测试·自动化·pytest·接口测试
程序员龙叔40 分钟前
从 0 开始学习 AI 测试 - 从接口测试来教你如何用 AI 来生成自动化测试代码
自动化测试·软件测试·python·软件测试工程师·测试工具·性能测试·ai测试
ZHW_AI课题组1 小时前
Python 调用百度智能云 API 实现地址识别
开发语言·人工智能·python·机器学习·百度·数据挖掘
MemoriKu2 小时前
Flutter 本地 AI 相册工程收口:从屏幕常亮、标签体系到照片属性后台队列
大数据·人工智能·python·flutter·elasticsearch·搜索引擎·数据库架构
2401_885665192 小时前
基于OpenCV的模板匹配OCR实战:银行卡与身份证数字识别完整教程
人工智能·python·opencv·计算机视觉·ocr
装不满的克莱因瓶2 小时前
了解3D卷积原理——从空间感知到时空建模的深度学习核心算子
人工智能·pytorch·python·深度学习·机器学习·3d·ai
cup112 小时前
[开源] Memory Checker:极致轻量的 Windows 托盘内存监测工具,告别内存焦虑
python·内存·工具·任务管理器·托盘