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 变量中供后续处理。

相关推荐
知识中的海王6 分钟前
Python html 库用法详解
开发语言·python
面朝大海,春不暖,花不开22 分钟前
使用 Python 正则表达式实现文本替换与电话号码规范化
python·mysql·正则表达式
淘小白_TXB219623 分钟前
Python网页自动化Selenium中文文档
python·selenium·自动化·网页自动化
Clair-Sean44 分钟前
【JavaSE】多线程基础学习笔记
笔记·python·学习
EverBule2 小时前
Python 训练 day46
开发语言·python
WangY_ZQ2 小时前
Python 如何在Python 3.6上安装PIP
linux·python·pip
聚客AI3 小时前
系统掌握PyTorch:图解张量、Autograd、DataLoader、nn.Module与实战模型
人工智能·pytorch·python·rnn·神经网络·机器学习·自然语言处理
狮子也疯狂3 小时前
基于Python的气象数据分析及可视化研究
python·信息可视化·数据分析
蓝婷儿3 小时前
6个月Python学习计划 Day 18 - 项目实战 · 学生成绩管理系统(OOP版)
开发语言·python·学习
HINOTOR_3 小时前
DAY 25 异常处理
开发语言·python