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

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

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

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請求實現(xiàn)方式
		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;
	}
}

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

相關(guān)文章

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

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

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

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

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

    gson對象序列化的示例

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

    Java?數(shù)據(jù)庫連接池Druid?的介紹

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

    Java中ArrayList與順序表的定義與實現(xiàn)方法

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

    Java?Servlet響應(yīng)httpServletResponse過程詳解

    HttpServletResponse是處理http響應(yīng)的對象,調(diào)用該對象的方法,設(shè)置到對象屬性的內(nèi)容,tomcat最終會組織為http響應(yīng)報文
    2022-02-02
  • mybatis實現(xiàn)一對一關(guān)聯(lián)映射實例代碼

    mybatis實現(xiàn)一對一關(guān)聯(lián)映射實例代碼

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

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

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

    JAVA純代碼導(dǎo)出PDF文件實現(xiàn)方式

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

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

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

最新評論

舟曲县| 桂阳县| 无极县| 寻乌县| 吴旗县| 西贡区| 华亭县| 安陆市| 逊克县| 邢台县| 筠连县| 利津县| 青冈县| 榆林市| 普兰店市| 萝北县| 安多县| 岳西县| 沙河市| 通城县| 灵璧县| 年辖:市辖区| 双城市| 孝昌县| 巴青县| 娄烦县| 洛宁县| 开阳县| 龙江县| 砀山县| 上高县| 绥江县| 榆林市| 凤翔县| 胶南市| 广丰县| 安溪县| 通江县| 禄丰县| 汶川县| 大冶市|