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. git for windows 无法结束node进程(windows下杀进程)

    问题 windows 系统下,如果用CMD命令行启动node服务,Ctrl + C 即可结束命令 git bash 用起来比命令行方便,但是Ctrl + C 并不会结束node服务,再次启动会报如下错 ...

  2. Python学习总结之五 -- 入门函数式编程

    函数式编程 最近对Python的学习有些怠慢,最近的学习态度和学习效率确实很不好,目前这种病况正在好转. 今天,我把之前学过的Python中函数式编程简单总结一下,分享给大家,也欢迎并感谢大家提出意见 ...

  3. Cocos2d-x 3.0final 终结者系列教程16-《微信飞机大战》实现

    看到cocos2d-x推出了3.1版本号,真是每月一次新版本号,速度. 另一个好消息就是http://cn.cocos2d-x.org/上线了,祝贺!啥时候把我的视频和教程放上去呢?!! . 视频下载 ...

  4. RedHat7 防火墙设置以及端口设置

    1.查看防火墙状态,root用户登录,执行命令systemctl status firewalld 2.开启防火墙:systemctl start firewalld 3.关闭防火墙:systemct ...

  5. MySQL 忘记密码解决办法

    第一步: 关闭MySQL服务.  第二步: 打开DOS窗口,在里面输入安装MqSQL的目录本机为:C:\Program Files\MySQL\MySQL Server 5.6\bin 第三步: 在命 ...

  6. PHPCMS替换主页、列表页、内容页

    利用phpcms制作企业站,首先要将静态的企业主页替换成后台可编辑的动态主页. 在phpcms/install_package/phpcms/templates新建一个英文文件夹 在此文件夹下在创建一 ...

  7. curl post 请求 es 数据 REST 批量删除

    curl  -d  "keyword=牛" http://api.com/path/index curl模拟http发送get或post接口测试 - 一生守候 - 博客园 http ...

  8. 我的Java开发学习之旅------>Java经典排序算法之冒泡排序

    冒泡排序(Bubble Sort)是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已 ...

  9. Android Development Note-01

    Eclipse快捷键: 导包:ctrl+alt+o 格式化代码:ctrl+alt+f   MVC: M——Model V——View C——Control   android程序界面如何设计.调试 U ...

  10. 编写你的第一个web应用程序1

    在shell中运行以下命令来检查django是否已安装及其版本 python -m django --version 如果django已经安装,你应该看到安装的版本号,如果还没有安装,你会看到一个‘n ...