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

相关推荐
菜鸟~noob2336 分钟前
【电子战】 第01篇:噪声、门限与虚警/检测概率(PFA/PD)【含matlab代码】
开发语言·matlab
奇牙coding1238 分钟前
GPT-6-Astra API 接入教程:OpenRouter 路由配置 + Python/curl 示例 + 静默降级踩坑
开发语言·python·gpt·ai
2601_9622982744 分钟前
Python与Selenium结合的Web自动化测试全流程实践教程
自动化测试·python·selenium·web测试·pageobjectmodel
lzx_0021 小时前
C++11(一)
开发语言·c++·算法
天衍四九-1 小时前
第一章:从 LLM 到 Agent —— DeepSeek Harness 入门
网络·数据库·人工智能·python
529宝宝起名网1 小时前
用 Python 实现名字寓意评分算法:基于 NLP 语义分析的名字内涵深度评估
python·算法·自然语言处理
2601_962298671 小时前
Python:对象缓存优化机制(CPython)
python·性能优化·内存优化·cpython·对象缓存
未来之窗软件服务1 小时前
计算机二级[英文]-C 字符串移动—东方仙盟
c语言·开发语言·仙盟创梦ide·东方仙盟
Wang's Blog1 小时前
Java框架快速入门: Spring Security+OAuth2之过滤器与过滤器链
java·开发语言·spring
谢尔登2 小时前
01_Java基础速通
java·开发语言