首页 > 代码库 > loadrunner 发送gzip压缩json格式(转)
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 initpublic 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 actionpublic 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}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。