最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java模擬多線程http請求代碼分享

 更新時間:2018年05月26日 14:43:10   作者:net343  
本篇文章給大家分享了java模擬多線程http請求的相關實例代碼,對此有需要的可以跟著測試下。

java模擬http發(fā)送請求,第一種是HttpURLConnection發(fā)送post請求,第二種是使用httpclient模擬post請求,

實例代碼:

package test;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
import org.apache.http.client.config.RequestConfig;
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;
import org.apache.http.util.EntityUtils;

/**java 模擬測試多線程測試http請求
 * @author wdh
 *
 */

public class ServiceThreadTest implements Runnable{
		
	private String url;
	
	private Map<String,Object> paramStr;
	
	public ServiceThreadTest(String url, Map<String,Object> paramStr) {
		super();
		this.url = url;
		this.paramStr = paramStr;
	}

	
	public String getUrl() {
		return url;
	}


	public void setUrl(String url) {
		this.url = url;
	}


	public Map<String,Object> getParamStr() {
		return paramStr;
	}


	public void setParamStr(Map<String,Object> paramStr) {
		this.paramStr = paramStr;
	}


	@Override
	public void run() {
        // http請求實現方式
		CloseableHttpClient httpClient = HttpClients.createDefault();
		HttpPost post = new HttpPost(url);
		RequestConfig config = RequestConfig.custom().setConnectionRequestTimeout(10000).setConnectTimeout(10000)
				.setSocketTimeout(10000).build();
		CloseableHttpResponse response = null;
		try {
			List<NameValuePair> params = setHttpNameValues(paramStr); 
		  HttpEntity httpentity=new UrlEncodedFormEntity(params,"utf-8");
			post.setEntity(httpentity);
			post.setConfig(config);
			response = httpClient.execute(post);	
			HttpEntity entity = response.getEntity();
			String content = EntityUtils.toString(entity);
			System.out.println("content:" + content);
		} catch (Exception e) {
			e.printStackTrace();
		}			
	}	
	
	private List<NameValuePair> setHttpNameValues(Map<String,Object> paramMap) {
		List<NameValuePair> params = new ArrayList<NameValuePair>(); 
		for (Entry<String, Object> entry:paramMap.entrySet()){
			 params.add(new BasicNameValuePair(entry.getKey(),entry.getValue().toString())); 
		}
	 
		return params;
	}


	public static void main(String[] args) {
       //運用java工具類中線程池
		ExecutorService pool = Executors.newCachedThreadPool();
		for (int i =0;i<2;i++) { //開啟倆個線程
			String url = "xxxx";
			Map<String,Object> paramStr = getHttpParamStr();
			pool.execute(new ServiceThreadTest(url,paramStr));
		}
	}

	public static Map<String,Object> getHttpParamStr() {
		Map<String, Object> param = new HashMap<String, Object>();
		param.put("apiversion", 1);
		param.put("appversion", "3.6.2");
		return param;
	}
}

以上就是本次分享的關于java模擬多線程http請求的全部內容,感謝大家對腳本之家的支持。

相關文章

  • 深入解析Java并發(fā)程序中線程的同步與線程鎖的使用

    深入解析Java并發(fā)程序中線程的同步與線程鎖的使用

    這篇文章主要介紹了深入解析Java并發(fā)編程中線程的同步與線程鎖的使用,synchronized和lock是Java中最常見的控制線程的方法,需要的朋友可以參考下
    2016-03-03
  • SpringBoot中Bean生命周期自定義初始化和銷毀方法詳解

    SpringBoot中Bean生命周期自定義初始化和銷毀方法詳解

    這篇文章給大家詳細介紹了SpringBoot中Bean生命周期自定義初始化和銷毀方法,文中通過代碼示例講解的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
    2024-01-01
  • gson對象序列化的示例

    gson對象序列化的示例

    本文介紹如何將Java對象序列化為Json文件,然后讀取該Json文件讀取回Java對象。在下面的示例中,我們創(chuàng)建了一個Student類。然后生成一個student.json文件,該文件將具有Student對象的json數據。
    2020-11-11
  • Java?數據庫連接池Druid?的介紹

    Java?數據庫連接池Druid?的介紹

    這篇文章主要給大家分享的是?Java?數據庫連接池Druid?的介紹,Druid是一個JDBC組件,它包括三部分:?DruidDriver?代理Driver,能夠提供基于Filter-Chain模式的插件體系。?DruidDataSource?高效可管理的數據庫連接池,下面來看看文中的詳細內容,需要的朋友也可以參考一下
    2021-11-11
  • Java中ArrayList與順序表的定義與實現方法

    Java中ArrayList與順序表的定義與實現方法

    ArrayList是一個實現List接口的類,底層是動態(tài)類型順序表,本質也就是數組,動態(tài)主要體現在它的擴容機制,下面這篇文章主要給大家介紹了關于Java中ArrayList與順序表的定義與實現的相關資料,需要的朋友可以參考下
    2022-07-07
  • Java?Servlet響應httpServletResponse過程詳解

    Java?Servlet響應httpServletResponse過程詳解

    HttpServletResponse是處理http響應的對象,調用該對象的方法,設置到對象屬性的內容,tomcat最終會組織為http響應報文
    2022-02-02
  • mybatis實現一對一關聯映射實例代碼

    mybatis實現一對一關聯映射實例代碼

    這篇文章主要給大家介紹了關于mybatis實現一對一關聯映射的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2017-11-11
  • 淺談Java自定義注解和運行時靠反射獲取注解

    淺談Java自定義注解和運行時靠反射獲取注解

    下面小編就為大家?guī)硪黄獪\談Java自定義注解和運行時靠反射獲取注解。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-11-11
  • JAVA純代碼導出PDF文件實現方式

    JAVA純代碼導出PDF文件實現方式

    本文介紹了作者通過突發(fā)奇想發(fā)布了生成PDF的博客,最初,作者通過將Word文件轉換為PDF文件實現導出PDF功能,但效果不盡如人意,后來,作者嘗試直接生成PDF文件,并修復了生成PDF時出現的小瑕疵,通過導入依賴、下載接口和下載方法的實現
    2025-01-01
  • Java中Cglib代理和JDK代理的區(qū)別詳解

    Java中Cglib代理和JDK代理的區(qū)別詳解

    這篇文章主要介紹了Java中Cglib代理和JDK代理的區(qū)別詳解,Cglib代理功能更強,無論目標類是否實現了接口都可以代理,他是基于繼承的方式來代理目標類,如果目標類也實現了接口,代理類也會實現一次,需要的朋友可以參考下
    2023-09-09

最新評論

鹿邑县| 海丰县| 紫阳县| 潜山县| 安乡县| 渝北区| 鄢陵县| 明溪县| 金平| 武定县| 兴仁县| 昌都县| 丹巴县| 三河市| 沙湾县| 合川市| 突泉县| 米易县| 招远市| 琼中| 清远市| 宁城县| 大足县| 东丰县| 奉节县| 冀州市| 木兰县| 西峡县| 龙井市| 广灵县| 平邑县| 娱乐| 准格尔旗| 马公市| 岢岚县| 安远县| 沙坪坝区| 名山县| 柳江县| 佳木斯市| 信宜市|