You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已有curl/requests示例,如何用httpx AsyncClient发送带体GET请求?

使用httpx AsyncClient发送带请求体的GET请求

对应你提供的curl和requests代码,以下是使用httpx AsyncClient实现带请求体GET请求的方案:

代码示例

import httpx
import asyncio

async def fetch_users():
    # 定义请求头、URL参数和请求体数据
    headers = {
        'accept': 'application/json',
        'Content-Type': 'application/json',
    }
    params = {'limit': '10'}
    json_data = [{'item_type': 'user', 'skip': 0}]

    # 初始化AsyncClient并发送请求
    async with httpx.AsyncClient() as client:
        # 方式1:直接传入Python对象,httpx自动序列化JSON
        response = await client.get(
            'http://localhost:8000/user/',
            params=params,
            headers=headers,
            json=json_data
        )

        # 方式2:手动构造请求体字符串(完全匹配原curl格式)
        # request_body = '[\n  {\n    "item_type": "user",\n    "skip": 0\n  }\n]'
        # response = await client.get(
        #     'http://localhost:8000/user/',
        #     params=params,
        #     headers=headers,
        #     content=request_body
        # )

        # 处理响应
        print(response.status_code)
        print(response.json())

# 执行异步函数
asyncio.run(fetch_users())

关键说明

  • httpx的get方法支持通过json参数传递Python数据结构,框架会自动完成JSON序列化并适配请求头,逻辑和requests一致。
  • 如果需要严格匹配原curl请求的请求体格式(包括换行、空格),可以手动构造字符串并通过content参数传入。
  • 注意:部分服务器可能不兼容带请求体的GET请求,需确认目标API支持这种调用方式。

内容的提问来源于stack exchange,提问作者tobias

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 07:13:34