loadrunner发送json_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 classActions

{public intinit() throws Throwable {return 0;

}//end of init

public intaction() throws Throwable {

String foo= "{\"job_id\":93044,\"client_id\":1009,\"version\":\"10001\",\"dev_type\":1,\"app_guid\":\"1\"}";

HttpResponse response;

HttpClient httpclient= newDefaultHttpClient();

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(newByteArrayInputStream(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=newGZIPInputStream(inputStream);

lr.end_transaction("发送", lr.AUTO);

InputStreamReader isr= new InputStreamReader(inputStream, "utf-8"); //设置读取流的编码格式,自定义编码

BufferedReader br = newBufferedReader(isr);

StringBuffer sb= newStringBuffer();

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= newByteArrayOutputStream();

GZIPOutputStream gzos= null;try{

gzos= newGZIPOutputStream(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) {};

}returnbaos.toByteArray();

}public intend() throws Throwable {return 0;

}//end of end

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值