Java simulates http sending requests. The first is HttpURLConnection sending post requests. The second is to use httppclient to simulate post requests.
Example code:
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 Simulation test multithreaded test http request* @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;}@Overridepublic void run() { // http request implementation method 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) { //Use thread pool in java tool class ExecutorService pool = Executors.newCachedThreadPool();for (int i =0;i<2;i++) { //Open two threads 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;}}The above is all the content shared about Java simulation multi-threaded http requests. Thank you for your support for Wulin.com.