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 请求。

相关推荐
Hard but lovely1 分钟前
C++ STL--> vector的模拟实现!
开发语言·c++
hweiyu0022 分钟前
IDEA搭建GO环境
开发语言·后端·golang·intellij-idea·idea·intellij idea
归辞...1 小时前
「iOS」————单例与代理
开发语言·javascript·ios
l1t1 小时前
利用DeepSeek改写并增强测试Duckdb和sqlite的不同插入方法性能
python·sql·sqlite·duckdb
多思考少编码2 小时前
[GESP202309 四级] 2023年9月GESP C++四级上机题题解,附带讲解视频!
开发语言·c++·算法
Crazy learner2 小时前
C语言fgets函数详解:安全读取字符串的利器
c语言·开发语言·算法
爷_3 小时前
用 Python 打造你的专属 IOC 容器
后端·python·架构
HW-BASE3 小时前
C语言控制语句练习题1
c语言·开发语言·单片机·算法·嵌入式·c
ID_180079054733 小时前
python采集拍立淘按图搜索API接口,json数据参考
大数据·数据库·python·json
流星先生!3 小时前
前端小数点处理
开发语言·前端·javascript