loadrunner 发送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("\r\n");
           }       
            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
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值