Skip to content

HTTP 请求库

概述

PythonJavaScript说明
requestsaxios同步 HTTP 客户端
httpxfetch支持 async/await

requests - 最流行的 HTTP 库

安装

bash
pip install requests
# 或使用 Poetry
poetry add requests

基础用法

python
import requests

# GET 请求
response = requests.get('https://api.example.com/users')
data = response.json()

# POST 请求
response = requests.post('https://api.example.com/users', json={
    'name': 'Alice',
    'email': 'alice@example.com'
})

对比 JavaScript (axios)

javascript
// JavaScript (axios)
const response = await axios.get('https://api.example.com/users')
const data = response.data

const response = await axios.post('https://api.example.com/users', {
  name: 'Alice',
  email: 'alice@example.com',
})

httpx - 现代异步 HTTP 库

安装

bash
pip install httpx
poetry add httpx

异步用法

python
import httpx

async def fetch_users():
    async with httpx.AsyncClient() as client:
        response = await client.get('https://api.example.com/users')
        return response.json()

对比 JavaScript (fetch)

javascript
// JavaScript (fetch)
async function fetchUsers() {
  const response = await fetch('https://api.example.com/users')
  return await response.json()
}

常用功能对比

功能requests/httpxfetch/axios
设置请求头headers={'Auth': 'token'}headers: {'Auth': 'token'}
查询参数params={'page': 1}params: {page: 1}
超时设置timeout=10timeout: 10000
错误处理response.raise_for_status()if (!response.ok)

选择建议

  • requests: 简单脚本、同步场景
  • httpx: 需要异步、与 FastAPI 配合使用

学习文档整合站点