• loadrunner 发送gzip压缩json格式(转)


    转:http://blog.csdn.net/gzh0222/article/details/7711281

    使用java vuser实现,发送gzip压缩json格式。

    /*
     * LoadRunner Java script. (Build: _build_number_)
     * 
     * Script Description: 
     *                     
     */
     
    import lrapi.lr;
    import java.io.*;
    import java.io.BufferedReader;
    import java.io.ByteArrayInputStream;
    import java.io.ByteArrayOutputStream;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import  java.io.InputStream;
    import java.util.zip.GZIPInputStream;
    import java.util.zip.GZIPOutputStream;
    import org.apache.http.Header;
    import org.apache.http.HttpEntity;
    import org.apache.http.HttpResponse;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.ClientProtocolException;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.entity.InputStreamEntity;
    import org.apache.http.impl.client.DefaultHttpClient;
    
    
    
    
    
    
    public class Actions
    {
    
    
    public int init() throws Throwable {
    return 0;
    }//end of init
    
    
    
    
    public int action() throws Throwable {
    
    
               String foo = "{"job_id":93044,"client_id":1009,"version":"10001","dev_type":1,"app_guid":"1"}";
               HttpResponse response;
               HttpClient  httpclient = new DefaultHttpClient();
      HttpPost httppost= new HttpPost ("http://10.10.10.10:61013/proxy/c/job/detail.json");
      httppost.setHeader("Content-Type", "application/json; charset=UTF-8");
               httppost.setHeader("Accept-Encoding","gzip");
      byte[] bgzip =gzip(foo);
      System.out.println(bgzip.length);
      InputStreamEntity httpentity = new InputStreamEntity(new ByteArrayInputStream(bgzip), bgzip.length);
               httpentity.setChunked(true);
      httppost.setEntity(httpentity);
      
      lr.start_transaction("发送");
    
    
               response=httpclient.execute(httppost);
               httppost.setEntity(httpentity);
               int httpCode = response.getStatusLine().getStatusCode();
      System.out.println(httpCode);
      HttpEntity entity = response.getEntity();
               Header header = response.getFirstHeader("content-type");
               System.out.println(header); 
               InputStream inputStream = entity.getContent();
               inputStream=new GZIPInputStream(inputStream);
    
    
               
      lr.end_transaction("发送", lr.AUTO);
    
    
               InputStreamReader isr = new InputStreamReader(inputStream, "utf-8"); // 设置读取流的编码格式,自定义编码
               BufferedReader br = new BufferedReader(isr);
               StringBuffer sb = new StringBuffer();
               String tempbf;
               while ((tempbf = br.readLine()) != null) {
                    sb.append(tempbf);
                    sb.append("
    ");
               }       
                String html = sb.toString();
                System.out.println(html);  
                isr.close();
                inputStream.close();
    
    
            return 0;
    }//end of action
    
    
    
    
    public static byte[] gzip(String foo){
     ByteArrayOutputStream baos = new ByteArrayOutputStream();
     GZIPOutputStream gzos = null;
    
    
     try {
         gzos = new GZIPOutputStream(baos);
         gzos.write(foo.getBytes("UTF-8"));
     } catch (IOException e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
     } finally {
         if (gzos != null) try { gzos.close(); } catch (IOException ignore) {};
     }
    
    
     return baos.toByteArray();
          }
    
    
    public int end() throws Throwable {
    return 0;
    }//end of end
    }
  • 相关阅读:
    CH4302 Interval GCD
    20201017 模拟赛总结
    LOJ#2610. 「NOIP2013」货车运输
    POJ3696 The Luckiest number
    20200925 小练习总结
    更新一波状态
    AFO
    【扩展lucas定理】
    【LCT维护子树信息】uoj207 共价大爷游长沙
    [bzoj4589]Hard Nim(FWT快速沃尔什变化+快速幂)
  • 原文地址:https://www.cnblogs.com/kongzhongqijing/p/3893111.html
Copyright © 2020-2023  润新知