借一步网
作者:
在
HTTPX 是 Python 的一个现代 HTTP 客户端库,用于发送 HTTP 请求和处理响应。它是 requests 库的升级替代品,提供了同步和异步 API,支持 HTTP/1.1 和 HTTP/2,适合构建高性能的 Web 应用、API 调用和网络爬虫。以下是它的主要功能和用途:
requests
asyncio
trio
# 同步 import httpx response = httpx.get("https://example.com") print(response.text) # 异步 import asyncio import httpx async def main(): async with httpx.AsyncClient() as client: response = await client.get("https://example.com") print(response.text) asyncio.run(main())
pip install 'httpx[cli]'
pip install httpx # 可选:安装 CLI 和 HTTP/2 支持 pip install 'httpx[cli,http2]'
import httpx headers = {"Authorization": "Bearer token"} response = httpx.get("https://api.example.com/data", headers=headers) print(response.json())
import httpx files = {"file": open("report.pdf", "rb")} response = httpx.post("https://example.com/upload", files=files) print(response.status_code)
import asyncio import httpx async def fetch_url(client, url): response = await client.get(url) return response.text async def main(): async with httpx.AsyncClient() as client: tasks = [fetch_url(client, f"https://example.com/page/{i}") for i in range(5)] results = await asyncio.gather(*tasks) print(results) asyncio.run(main())
httpx.Client
httpx.AsyncClient
HTTPX 是一个功能强大、性能优越的 HTTP 客户端库,适合从简单 API 调用到复杂异步爬虫的各种场景。它结合了 requests 的易用性和现代 Python 的高性能特性,是 Python 网络编程的首选工具之一。
要发表评论,您必须先登录。
HTTPX 是 Python 的一个现代 HTTP 客户端库,用于发送 HTTP 请求和处理响应。它是
requests
库的升级替代品,提供了同步和异步 API,支持 HTTP/1.1 和 HTTP/2,适合构建高性能的 Web 应用、API 调用和网络爬虫。以下是它的主要功能和用途:主要功能
requests
,适合简单脚本或顺序请求。asyncio
或trio
,适合高并发场景,如同时处理多个请求。pip install 'httpx[cli]'
安装,可直接从终端发送请求。主要用途
与
requests
的对比requests
,易于迁移。requests
可能更轻量。安装
实际场景示例
注意事项
httpx.Client
或httpx.AsyncClient
复用连接,避免每次请求创建新连接。总结
HTTPX 是一个功能强大、性能优越的 HTTP 客户端库,适合从简单 API 调用到复杂异步爬虫的各种场景。它结合了
requests
的易用性和现代 Python 的高性能特性,是 Python 网络编程的首选工具之一。