首页 > 其他分享 >打印完整的接口请求信息

打印完整的接口请求信息

时间:2024-06-03 16:55:15浏览次数:12  
标签:None 请求 url 打印 request 接口 headers params print

遇到的问题:

  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")

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

标签:None,请求,url,打印,request,接口,headers,params,print
From: https://www.cnblogs.com/cai11/p/18229224

相关文章

  • 【信息化人员必备知识&面试宝典】一次完整的HTTP请求是怎样的?
    【信息化人员必备知识&面试宝典】一次完整的HTTP请求是怎样的?HTTP请求基础什么是HTTP?请求与响应模型一次完整的HTTP请求流程步骤一:建立TCP连接步骤二:发送HTTP请求步骤三:服务器处理请求步骤四:发送HTTP响应步骤五:关闭连接或持续连接实战代码示例案例一:使用Python发起GET......
  • 压力测试接口选择策略指南
    选择哪些接口进行压力测试是确保系统在高负载下仍能正常运行的关键步骤。以下是一些策略,可以帮助你确定哪些接口需要进行压力测试:###1.业务关键性- 核心功能接口:选择那些对业务运作至关重要的接口。例如,支付、订单处理、用户登录等。- 高流量接口:识别那些在正常运......
  • 内网部署api接口文档服务器端口如何让外网访问?
    计算机业内人士对于swagger并不陌生,不少人选择用swagger做为API接口文档管理。Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新文件的方法,参数和模型紧密集成到服务器端的代......
  • C# 模拟http请求出现 由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作[windo
    系统里面用到C#模拟Http请求,上线到服务器后,发现日志中大量出现“由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作”或“通常每个套接字地址(协议/网络地址/端口)只允许使用一次”运行netstat-ano发现有大量的Tcp链接,怀疑可能是服务器各种请求太多了导致的服务器是w......
  • 联想打印机更换硒鼓后仍旧报错,如何做硒鼓计数器清零?
        在联想打印机的使用过程中,硒鼓是一个重要的耗材,它直接影响到打印质量和打印机的运行。通常,当打印机显示硒鼓错误或者打印质量下降时,更换新的硒鼓是一个常见的解决方案。然而,有时候即使更换了新的硒鼓,打印机仍然会报错,这可能是由于硒鼓计数器没有清零导致的。  ......
  • 淘宝商品id怎么实现批量自动获取?通过关键字搜索接口来获取批量商品id(淘宝API)
    item_search-按关键字搜索淘宝商品传入商品关键字,通常在商品标题中进行检索,将包含此关键字的商品展示出来,分页展示。公共参数名称类型必须描述keyString是调用key(必须以GET方式拼接在URL中)secretString是调用密钥api_nameString是API接口名称(包括在请求地址中)[item_search,i......
  • 新时代的程序员4大本领:lambda表达式,链式编程,函数式接口,Stream流式计算
    传统程序员4大本领:泛型,枚举,反射,注解新时代的程序员4大本领:lambda表达式,链式编程,函数式接口,Stream流式计算lambda表达式//1.不需要参数,返回值为5()->5//2.接收一个参数(数字类型),返回其2倍的值x->2*x//3.接受2个参数(数字),并返回他们的差值(x,y)->x......
  • 【安全性测试】突破sign签名校验实现请求重放
     对于安全性较高的网站,通常会用到sign签名来实现多重验证,常见的有:sign对加密密钥验证(后面会介绍)通过sign对请求重放验证(该文章重点介绍sign请求重放验证)在渗透测试中,重放数据包是非常重要的测试条件,大多数功能都需要通过重放来测试,像爆破、sql注入、篡改参数实现越权等等;而开发......
  • [转]E1接口介绍
    E1通道本来设计用来传输电话的,每个E1(带宽2.048M)可以传30路电话,后来扩大的应用范围,可以用作传网络,串口等不同的业务;E1是一个基本的传输单元,其最终还是通过光纤来传输的,如PDH光端机,就是用来传E1的,前几年时国内的主干网,还是以SDH这类设备为主,SDH与PDH类似,都是用光纤来......
  • 基于OpenAI API接口向GPT4v上传图像进行图像分析
    importopenaiimportbase64fromopenaiimportOpenAIclient=OpenAI(api_key='xxxxxxxxx',base_url='https://api.openai.com/v1'#可根据镜像站修改)#图片转base64函数defencode_image(image_path):withopen(image_path,"rb")......