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

相关推荐
2601_962299884 分钟前
Linux下运行Python脚本
linux·python·ubuntu·脚本·命令
IT毕设实战小研4 分钟前
基于大数据的DAX40成分股金融新闻情感趋势可视化分析
android·大数据·python·考研·金融·课程设计
三十岁老牛再出发10 分钟前
8月27日总结
python·pandas
砚底藏山河10 分钟前
【量化纯GET实战 #21】用 pandas 做分析:把接口数据变成 DataFrame
java·python·金融·maven·pandas
Carl_奕然25 分钟前
【智能体】Agent的四种设计模式之:React(2026最新版)
javascript·人工智能·python·react.js·设计模式·语言模型
岁月宁静27 分钟前
四、《从零手撸 Agent》 — 流式输出:接住 AI “一个字一个字” 想出来的过程
python·agent
是吕先森30 分钟前
【python】selenium实现web自动化测试
前端·python·selenium
卷无止境38 分钟前
从脚本到程序:Windows平台上的Python打包全景图
后端·python
my059238 分钟前
市场学习,不止看资讯,数据查阅与思维练习同样重要
python·学习
黑科技工坊40 分钟前
2026年口碑载道:铝面板定制供应商优选指南
大数据·人工智能·python