Python httpx库入门指南

Httpx 是一个用于发送 HTTP 请求的 Python 库,它提供了简单易用的 API,可以轻松地发送 GET、POST、PUT、DELETE 等请求,并接收响应。下面是 Httpx 的入门指南:

  1. 安装 Httpx

在命令行中输入以下命令安装 Httpx:

复制代码
pip install httpx
  1. 导入 Httpx

在 Python 脚本中导入 Httpx:

复制代码
import httpx
  1. 发送 GET 请求

使用 Httpx 发送 GET 请求的示例代码:

复制代码
response = httpx.get('https://api.example.com/data')
print(response.text)

在上面的代码中,我们使用 `httpx.get()` 方法发送一个 GET 请求,并将响应存储在 `response` 变量中。然后,我们使用 `response.text` 属性打印响应文本。

  1. 发送 POST 请求

使用 Httpx 发送 POST 请求的示例代码:

复制代码
response = httpx.post('https://api.example.com/data', data={'key': 'value'})
print(response.text)

在上面的代码中,我们使用 `httpx.post()` 方法发送一个 POST 请求,并将要发送的数据作为字典传递给 `data` 参数。然后,我们将响应存储在 `response` 变量中,并使用 `response.text` 属性打印响应文本。

  1. 设置请求头和请求体

使用 Httpx 设置请求头和请求体的示例代码:

复制代码
headers = {'Content-Type': 'application/json'}
body = {'key': 'value'}
response = httpx.post('https://api.example.com/data', headers=headers, json=body)
print(response.text)

在上面的代码中,我们使用 `headers` 参数设置请求头,使用 `json` 参数设置请求体。然后,我们将响应存储在 `response` 变量中,并使用 `response.text` 属性打印响应文本。

  1. 处理异常情况

使用 Httpx 处理异常情况的示例代码:

复制代码
try:
    response = httpx.get('https://api.example.com/data')
    print(response.text)
except httpx.HTTPStatusError as err:
    print(f"HTTP error occurred: {err}")
except httpx.RequestError as err:
    print(f"Request error occurred: {err}")
  1. 定制请求超时

使用 Httpx 定制请求超时的示例代码:

复制代码
response = httpx.get('https://api.example.com/data', timeout=10)
print(response.text)

在上面的代码中,我们使用 `timeout` 参数设置请求超时时间为 10 秒。然后,我们将响应存储在 `response` 变量中,并使用 `response.text` 属性打印响应文本。

  1. 使用会话对象

使用 Httpx 的会话对象的示例代码:

复制代码
with httpx.Client() as session:
    response = session.get('https://api.example.com/data')
    print(response.text)

在上面的代码中,我们使用 `httpx.Client()` 创建一个会话对象,并使用 `with` 语句管理会话对象的生命周期。然后,我们使用会话对象发送 GET 请求,并将响应存储在 `response` 变量中。最后,我们使用 `response.text` 属性打印响应文本。

这些是 Httpx 的一些基本用法和示例代码。通过这些示例代码,您可以快速上手 Httpx 并发送各种 HTTP 请求。

相关推荐
都叫我大帅哥2 分钟前
Python中的TypedDict:给字典穿上类型的外衣
python
amazinging11 分钟前
北京-4年功能测试2年空窗-报培训班学测开-第五十天
python·学习·面试
似璟如你33 分钟前
Java开发八股文之基础篇+spring+集合
java·开发语言·面试
本杰明15235 分钟前
2025/7/14——java学习总结
java·开发语言·学习
2345VOR40 分钟前
【C#地图显示教程:实现鼠标绘制图形操作】
开发语言·c#·计算机外设·地图显示鼠标交互
开开心心_Every1 小时前
可增添功能的鼠标右键优化工具
开发语言·pdf·c#·计算机外设·电脑·音视频·symfony
星释1 小时前
优雅的Java:01.数据更新如何更优雅
java·开发语言·spring boot
The_era_achievs_hero1 小时前
微信131~140
开发语言·javascript·微信
LeonYangRyeon1 小时前
解锁SQL“密码”:SELECT DISTINCT END AS的深度剖析与实战指南
java·开发语言
☆璇2 小时前
【数据结构】排序
c语言·开发语言·数据结构·算法·排序算法