zoukankan      html  css  js  c++  java
  • groovy脚本test类打印响应头和请求头

    主要代码:

    Request request = builder.url("http://baidu.com).get().build();
    Response response = client.newCall(request).execute();

    Headers requestHeaders= response.networkResponse().request().headers();
    logger.info("{}", requestHeaders);
    Headers responseHeaders= response.networkResponse().headers();
    logger.info("{}", responseHeaders);

    详细代码:

    
    import java.util.concurrent.TimeUnit;
    import okhttp3.OkHttpClient
    import okhttp3.Request
    import okhttp3.Response
    import okhttp3.Cookie;
    import okhttp3.*;
    import org.junit.Assert
    import org.slf4j.Logger
    import org.slf4j.LoggerFactory
    
    
        public final Logger logger = TestUtils.LOGGER;
        public final OkHttpClient client;
        public final Request.Builder builder;
        public final Cookie.Builder cookie;
    
        Test() {
            client = new OkHttpClient().newBuilder()
                        .connectTimeout(6, TimeUnit.SECONDS)
                        .readTimeout(6, TimeUnit.SECONDS)
                        .writeTimeout(6, TimeUnit.SECONDS)
                        .followRedirects(false)
                        .build();
            builder = new Request.Builder();
    
            builder.addHeader("Cache-Control", "no-cache");
         builder.addHeader("Accept-Encoding", "gzip, deflate, br"); builder.addHeader("Connection", "keep-alive"); builder.addHeader("Host", "baidu.com"); builder.addHeader("X-API-Login-Type", "1"); builder.addHeader("User-Agent", "PostmanRuntime/7.26.8"); builder.addHeader("Cookie", "xx=xx;xx=xx"); logger.info("TestRunner init..."); } @TestCase void test() { TestUtils.transactionBegin("test_tran"); Request request = builder.url("http://baidu.com").get().build(); Response response = client.newCall(request).execute(); Headers requestHeaders= response.networkResponse().request().headers();
         logger.info("{}", requestHeaders);
         Headers responseHeaders= response.networkResponse().headers();
         logger.info("{}", responseHeaders);
    if(response.code() == 200){ TestUtils.transactionSuccess("test_tran"); logger.info("============= response successful, response code: {}, response body: {}",response.code(), response.body().string()); }else{ TestUtils.transactionFailure("test_tran"); logger.error("============= response false, response code: {}, response body: {}",response.code()); } response.close(); } }

    builder.headerbuilder.addHeader区别:

    header是替换,addHeader是追加

  • 相关阅读:
    re | frida | hook windows进程
    win32 | 透明窗口实现&画一个透明背景
    re | [SWPU2019]EasiestRe
    re | [QCTF2018]babyre
    web | [CISCN2019 总决赛 Day2 Web1]Easyweb
    sql | sqlite3的sqlite_master表探究
    windows | 获取系统变量ProgramData
    【友晶科技Terasic】Avalon-MM slave 为什么 readdata 要在第二个时钟周期才有数据?
    友晶科技 Terasic SOC FPGA的板子提供的image 使用了几个核? 是CPU0还是CPU1?
    【友晶科技Terasic】 用sopc-create-header-files工具生成 FPGA 硬件地址信息 用于与linux 程序交互 generate_hps_qsys_header.sh
  • 原文地址:https://www.cnblogs.com/Tanwheey/p/14421893.html
Copyright © 2011-2022 走看看