作者:泉水叮咚139 | 来源:互联网 | 2023-06-07 00:07
导入httpclientjar包创建maven工程httpclient发送get请求packagecom.testing91;importjava.io.BufferedRead
导入httpclient jar包 创建maven工程
httpclient 发送get请求
package com.testing91;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;/*** 接口测试四大步骤: 1 数据准备 2 测试执行 3 数据校验 检查 4 数据清洗* * DatabaseComputer Server Httpclient request 强制使用这种fang* * @author Administrator**/
public class HttpclientForDatabaseComputerGet {// send url is http://localhost:9000/computers?f=ACEprivate static String uri = "http://localhost:9000/computers?f=ACE";public static void main(String[] args) {try {CloseableHttpClient httpclient = HttpClients.createDefault();HttpGet httpGet = new HttpGet(uri);CloseableHttpResponse httpResponse = httpclient.execute(httpGet);// 3 获取响应体数据流,然后放入缓冲区BufferedReader in = new BufferedReader(new InputStreamReader(httpResponse.getEntity().getContent(), "utf-8"));StringBuffer sb = new StringBuffer("");String line = "";// 4 读取缓冲区内容为字符串while ((line = in.readLine()) != null) {sb.append(line + "\n");}// 5 关闭缓冲区in.close();String content = sb.toString();// 6 测试校验System.out.println(content);} catch (ClientProtocolException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}
}
httpclient 发送post请求单线程
package com.testing91;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;import org.apache.http.NameValuePair;
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.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;/**** 接口测试四大步骤: 1 数据准备 2 测试执行 3 数据校验 检查 4 数据清洗* * DatabaseComputer Server Httpclient request 强制使用这种fang* * @author Administrator**/
public class HttpclientForDatabaseComputerPost {// send url is http://localhost:9000/computers?f&#61;ACEprivate static String uriPOST &#61; "http://localhost:9000/computers";public static void main(String[] args) {try {for (int i &#61; 0; i <10; i&#43;&#43;) {CloseableHttpClient httpclient &#61; HttpClients.createDefault();HttpPost httpPost &#61; new HttpPost(uriPOST);List params &#61; new ArrayList();params.add(new BasicNameValuePair("name", "test" &#43; i));params.add(new BasicNameValuePair("introduced", "2017-2-19"));params.add(new BasicNameValuePair("discontinued", "2017-2-19"));params.add(new BasicNameValuePair("company", "22"));httpPost.setEntity(new UrlEncodedFormEntity(params));long startTime &#61; System.currentTimeMillis();CloseableHttpResponse httpResponse &#61; httpclient.execute(httpPost);System.out.println((System.currentTimeMillis()-startTime) &#43; "ms");
// System.out.println(httpResponse.getStatusLine().getStatusCode());// &#xff13; 获取响应体数据流&#xff0c;然后放入缓冲区BufferedReader in &#61; new BufferedReader(new InputStreamReader(httpResponse.getEntity().getContent(), "utf-8"));StringBuffer sb &#61; new StringBuffer("");String line &#61; "";// &#xff14; 读取缓冲区内容为字符串while ((line &#61; in.readLine()) !&#61; null) {sb.append(line &#43; "\n");}// 5 关闭缓冲区in.close();String content &#61; sb.toString();// &#xff16; 测试校验// System.out.println(content);}} catch (ClientProtocolException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}
}
httpclient 发送post请求 多线程
package com.testing91;import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.atomic.AtomicBoolean;import org.apache.http.NameValuePair;
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.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;/**** 接口测试四大步骤&#xff1a; &#xff11; 数据准备 &#xff12; 测试执行 &#xff13; 数据校验 检查 &#xff14; 数据清洗* * DatabaseComputer Server Httpclient request 强制使用这种fang* * &#64;author Administrator**/
public class HttpclientForDatabaseComputerPost2 {// send url is http://localhost:9000/computers?f&#61;ACEprivate static String uriPOST &#61; "http://localhost:9000/computers";public static int sendPostRequest(String ThreadName) throws ClientProtocolException, IOException {CloseableHttpClient httpclient &#61; HttpClients.createDefault();HttpPost httpPost &#61; new HttpPost(uriPOST);List params &#61; new ArrayList();params.add(new BasicNameValuePair("name", "test"));params.add(new BasicNameValuePair("introduced", "2017-2-19"));params.add(new BasicNameValuePair("discontinued", "2017-2-19"));params.add(new BasicNameValuePair("company", "22"));httpPost.setEntity(new UrlEncodedFormEntity(params));long startTime &#61; System.currentTimeMillis();CloseableHttpResponse httpResponse &#61; httpclient.execute(httpPost);int responseCode &#61; httpResponse.getStatusLine().getStatusCode();System.out.println(responseCode &#43; " ," &#43; (System.currentTimeMillis() - startTime) &#43; "ms" &#43; " ," &#43; ThreadName);return responseCode;}public static void main(String[] args) {// &#xff15;个线程 跑&#xff11;分钟final long startTime &#61; System.currentTimeMillis();for (int i &#61; 0; i <5; i&#43;&#43;) {Thread t &#61; new Thread(new Runnable() {AtomicBoolean flag &#61; new AtomicBoolean(true);public void run() {while (flag.get()) {try {if ((System.currentTimeMillis() - startTime) >&#61; 60 * 1000) {flag.set(false);}sendPostRequest(Thread.currentThread().getName());} catch (ClientProtocolException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}}});t.start();}}
}