pom文件
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.3</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
<version>4.5.3</version>
</dependency>
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
import org.apache.http.ParseException;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.ContentType;
import org.apache.http.entity.mime.MultipartEntityBuilder;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import sm.xtest.util.OpLogUtils;
@RequestMapping("/jmeter")
@Controller
public class JmeterController {
@RequestMapping(value = "call.php")
@ResponseBody
public void call(HttpServletRequest request, HttpServletResponse response) {
System.out.println("开始");
String exectorUrl = "http://192.168.1.113:8080/exector1/execute/run.php";
CloseableHttpClient httpClient = HttpClientBuilder.create().build();
// 创建Post请求
HttpPost httpPost = new HttpPost(exectorUrl);
// 响应模型
CloseableHttpResponse httpResponse = null;
try {
// 由客户端执行(发送)Post请求
// 装填参数
Map<String, String> map = new HashMap<String, String>();
// map.put("jmxContent", writeJMX());
map.put("jmxContent", OpLogUtils.readFile("E:\\baidu.jmx"));
map.put("jmxName", "A3");
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
if (map != null) {
for (Entry<String, String> entry : map.entrySet()) {
nvps.add(new BasicNameValuePair(entry.getKey(), entry.getValue()));
}
}
httpPost.setEntity(new UrlEncodedFormEntity(nvps, "UTF-8"));
httpResponse = httpClient.execute(httpPost);
// 从响应模型中获取响应实体
HttpEntity responseEntity = httpResponse.getEntity();
System.out.println("响应状态为:" + httpResponse.getStatusLine());
System.out.println("结束");
if (responseEntity != null) {
System.out.println("响应内容长度为:" + responseEntity.getContentLength());
System.out.println("响应内容为:" + EntityUtils.toString(responseEntity));
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (ParseException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
// 释放资源
if (httpClient != null) {
httpClient.close();
}
if (httpResponse != null) {
httpResponse.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) throws IOException {
JmeterController controller = new JmeterController();
controller.call(null, null);
}
/**
* 基本属性
*/
public HttpEntity getFormEntity() throws UnsupportedEncodingException {
List<NameValuePair> formParams = new ArrayList<>();
formParams.add(new BasicNameValuePair("jmxContent", writeJMX()));
formParams.add(new BasicNameValuePair("jmxName", "aa"));
return new UrlEncodedFormEntity(formParams, "UTF-8");
}
/**
* File文件格式上传
*/
public HttpEntity getMultiFileEntity() {
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
File file = new File("E:\\1.png");
//文件类
builder.addBinaryBody("file1", file, ContentType.DEFAULT_BINARY, "photo3.jpg");
builder.addBinaryBody("file2", file, ContentType.DEFAULT_BINARY, "photo4.jpg");
//普通字符类
builder.addTextBody("test", "zh-cn");
builder.addTextBody("Language", "zh-cn");
return builder.build();
}
/**
* 拼接jmx文件
*/
public static String writeJMX(){
String res = null;
try {
FileWriter fw = new FileWriter("E:/test.jmx");
//报文内容
String message = "str...";
fw.write(jmxcontent);
res = jmxcontent;
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
return res;
}
}