package test;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.FileRequestEntity;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
import org.apache.jmeter.samplers.SampleResult; import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;
import java.util.Map; /**
* Created by MacGang on 2015/12/27.
*/
public class HttpSam extends AbstractJavaSamplerClient {
public static String label="short_video";
private SampleResult results;
public void setupTest(JavaSamplerContext arg0) {
results = new SampleResult();
}
public SampleResult runTest(JavaSamplerContext javaSamplerContext) {
results.setSampleLabel(label);
results.sampleStart();
try {
Test.execute(javaSamplerContext.getParameter("ip"),javaSamplerContext.getParameter("port"),javaSamplerContext.getParameter("Authorization"),javaSamplerContext.getParameter("path"));
System.out.println(javaSamplerContext.getParameter("Authorization"));
results.setSuccessful(true);
} catch (MalformedURLException e) {
results.setSamplerData(e.getMessage());
e.printStackTrace();
results.setSuccessful(false);
}finally{
results.sampleEnd();
} return results;
} public Arguments getDefaultParameters(){
Arguments args = new Arguments();
args.addArgument("ip", "192.168.1.11");//设置参数,并赋予默认值0
args.addArgument("port", "8080");//设置参数,并赋予默认值0
args.addArgument("path", "C:\\Users\\MacGang\\Desktop\\url.txt");//设置参数,并赋予默认值0
args.addArgument("Authorization", "0");//设置参数,并赋予默认值0 return args;
} public static void main(String[] args) {
// TODO Auto-generated method stub
Arguments params = new Arguments();
params.addArgument("ip", "192.168.1.11");//设置参数,并赋予默认值0
params.addArgument("port", "8080");//设置参数,并赋予默认值0
params.addArgument("Authorization", "111");//设置参数,并赋予默认值0
params.addArgument("path", "C:\\Users\\MacGang\\Desktop\\url.txt");//设置参数,并赋予默认值0 JavaSamplerContext arg0 = new JavaSamplerContext(params);
HttpSam test = new HttpSam();
test.setupTest(arg0);
test.runTest(arg0);
System.exit(1);
} }
class Test { public static void execute(String ip,String port,String auth,String path) throws MalformedURLException { String url = "http://"+ip+":"+port+"/multimedia/upload.json";
System.out.println(ip+"-->"+port+"-->"+auth);
HttpClient httpClient = new HttpClient();
PostMethod post= new PostMethod(url);
try {
post.setRequestHeader("Authorization",auth);
post.setRequestEntity(new FileRequestEntity(new File(path),"application/x-www-form-urlencoded"));
} catch (Exception e) {
e.printStackTrace();
} try {
httpClient.executeMethod(post);
} catch (IOException e) {
e.printStackTrace();
} }
}

  

jmeter 开发自己的java请求 二次开发的更多相关文章

  1. Jmeter性能测试实践之java请求

     前言 Apache Jmeter是开源.易用的性能测试工具,之前工作中用过几次对http请求进行性能测试,对jmeter的基本操作有一些了解.最近接到开发的对java请求进行性能测试的需求,所以需要 ...

  2. JMeter 中实现发送Java请求

    JMeter 中实现发送Java请求 1.  步骤1 新建JAVA项目 File -> New -> Java Project 如上图,填写Project Name,然后Next,打开以J ...

  3. Java微信二次开发(一)

    准备用Java做一个微信二次开发项目,把流程写在这里吧. 第一天,做微信请求验证 需要导入库:servlet-api.jar 第一步:新建包com.wtz.service,新建类LoginServle ...

  4. 【Jmeter测试】使用Java请求进行Dubbo接口的测试

    如何构建一个Dubbo接口测试的通用框架(https://github.com/nitibu/jmeter-dubbo-test)​从上面的流程我们可以看出,测试类大致的一个结构: 使用json文件来 ...

  5. EcShop二次开发学习方法和Ecshop二次开发必备基础

    ecshop二次开发学习方法 近年来,随着互联网的发展,电子商务也跟着一起成长,B2B,C2C,B2C的电子商务模式也不断的成熟.这时催生出了众多电子商务相关的php开源产品.B2C方面有Ecshop ...

  6. 手机APP开发:学JAVA转安卓APP开发是不是很容易?

    成都亿合云商小编为您分享:Android开发是以Java语言为基础的,Android 虽然使用Java 语言作为开发工具,但是在实际开发中发现,还是与Java SDK 有一些不同的地方.Android ...

  7. Java微信二次开发(十)

    生成带参数的二维码以及长链接转短链接 第一步:找到包com.wtz.vo,新建类WeixinQRCode.java package com.wtz.vo; /** * @author wangtian ...

  8. Java微信二次开发(七)

    自定义菜单 第一步:新建包com.wtz.menu,新建类Button.java package com.wtz.menu; /** * @author wangtianze QQ:864620012 ...

  9. Java微信二次开发(五)

    消息加密 需要到入库:commons-io-2.4.jar,commons-codec-1.9.jar(在官网的Java微信加密demo下) 第一步:访问https://mp.weixin.qq.co ...

随机推荐

  1. 编译webrtc for android库与apk

    git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git export PATH=`pwd`/depot_t ...

  2. 【BZOJ4908】[BeiJing2017]开车 分块

    [BZOJ4908][BeiJing2017]开车 Description 你有n辆车,分别a1, a2, ..., an位置和n个加油站,分别在b1, b2, ... ,bn .每个加油站只能支持一 ...

  3. nagios-plugins安装报错--with-mysql: no

    --with-mysql: no 解决方法 yum安装mysql-devel yum install mysql-devel

  4. Linux就该这么学--了解Shell脚本

    有人曾经将Shell形容是人与计算机硬件的“翻译官”,Shell作为用户与Linux系统通讯的媒介.自身也定义了各种变量和参数,并提供了诸如循环.分支等高级语言才有的控制结构特性.如何正确的使用这些功 ...

  5. JS dom最常用API

    //document方法:    var cont = document.getElementByIdx_x('cont'); //className给标签添加class    cont.classN ...

  6. 【python】使用python发送文本内容邮件

    下面提供了一个使用python做的发送文本内容的邮件代码,能够在邮件内容中设置文字颜色,大小,换行等功能. #auther by zls #_*_coding:utf-8_*_ import sys ...

  7. Mac OS 配置Maven

    步骤: 1. 下载Maven tar包 https://maven.apache.org/download.cgi?Preferred=http%3A%2F%2Fmirrors.tuna.tsingh ...

  8. tensorflow knn 预测房价 注意有 Min-Max Scaling

    示例数据: 0.00632 18.00 2.310 0 0.5380 6.5750 65.20 4.0900 1 296.0 15.30 396.90 4.98 24.00 0.02731 0.00 ...

  9. 一些rtsp实现的开源代码

    * live.com   C/S   C++   http://www.live555.com     * darwin     S     C++   http://www.opensource.a ...

  10. Java_泛型_01_T与?

    二.参考文档 1.JAVA泛型通配符T,E,K,V区别,T以及Class<T>,Class<?>的区别