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

如何打印发送的HTTP请求的方法与请求头?

如何打印aiohttp发送的请求方法与请求头

你当前通过resp.method获取的是响应对应的方法,并非实际发送的请求本身的信息。要获取发送的请求详情,可通过以下两种方式实现:

方式一:从响应对象中获取已发送的请求信息

直接从返回的响应对象的request属性中提取请求方法和请求头,修改代码如下:

async with session.get('url', params=params) as resp:
    # 获取发送的请求对象
    request = resp.request
    # 打印请求方法
    print(request.method)
    # 打印请求头
    print(request.headers)
    content = await resp.read()

方式二:请求发送前拦截查看

如果需要在请求发送前就查看请求信息,可以使用aiohttp的TraceConfig来拦截请求:

import aiohttp

async def log_request_info(session, trace_config_ctx, params):
    # 打印即将发送的请求方法和请求头
    print(f"请求方法: {params.method}")
    print(f"请求头: {params.headers}")
    # 继续执行请求
    return await session._request(**params)

# 创建TraceConfig并绑定回调
trace_config = aiohttp.TraceConfig()
trace_config.on_request_start.append(log_request_info)

# 使用带TraceConfig的session发送请求
async with aiohttp.ClientSession(trace_configs=[trace_config]) as session:
    async with session.get('url', params=params) as resp:
        content = await resp.read()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 06:12:20