打印完整的接口请求信息

遇到的问题:

  1、做接口测试时遇到问题,经常碰到开发要求发出完整的请求入参,脚本写的都是拼接前的数据

  2、实际调用接口的数据都是加密后的数据,可能是因为加密出现的问题,需要具体的入参来排查

"""
打印完整的请求信息
"""

import requests


def test_r(mothod, url, params=None, body=None, files=None, headers=None, data=None):
    if headers is None:
        headers = {'Content-Type': 'application/json;charset=utf-8'}
    if mothod == "GET":
        request = requests.Request(mothod, url=url, params=params).prepare()
    elif mothod == "POST":
        request = requests.Request(mothod, url=url, params=params, json=body, files=files,
                                   headers=headers, data=data).prepare()

    print("--- Request ---")
    print(f"URL: {request.url}")
    print(f"Method: {request.method}")
    print("Headers:")
    for key, value in request.headers.items():
        print(f"  {key}: {value}")
    print(f"Body:")
    print(request.body)

    session = requests.Session()
    response = session.send(request)
    
    print("--- Response ---")
    print(f"Status code: {response.status_code}")
    print("Headers:")
    for key, value in response.headers.items():
        print(f"  {key}: {value}")
    print("Body:")
    print(response.content.decode("utf-8"))
    return response.content.decode("utf-8")

这里仅编写了最常见的两种请求方式,可以按照业务场景自行扩展

posted @   CAI_11  阅读(44)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示