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

相关推荐
老胖闲聊7 分钟前
Python Rio 【图像处理】库简介
开发语言·图像处理·python
码界奇点27 分钟前
Python Flask文件处理与异常处理实战指南
开发语言·python·自然语言处理·flask·python3.11
浠寒AI33 分钟前
智能体模式篇(上)- 深入 ReAct:LangGraph构建能自主思考与行动的 AI
人工智能·python
行云流水剑2 小时前
【学习记录】如何使用 Python 提取 PDF 文件中的内容
python·学习·pdf
心扬2 小时前
python生成器
开发语言·python
mouseliu2 小时前
python之二:docker部署项目
前端·python
狂小虎3 小时前
亲测解决self.transform is not exist
python·深度学习
Python智慧行囊3 小时前
Python 中 Django 中间件:原理、方法与实战应用
python·中间件·架构·django·开发
深科文库3 小时前
构建 MCP 服务器:第 3 部分 — 添加提示
服务器·python·chatgpt·langchain·prompt·aigc·agi