package httpclient;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map; import org.apache.http.*;import org.apache.http.client.ClientProtocolException;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.HttpGet;import org.apache.http.client.methods.HttpPost;import org.apache.http.entity.ContentType;import org.apache.http.entity.StringEntity;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; import org.json.JSONObject;/** * Created by jiangcui on 2018/5/21. */public class HttpClientPostForJson { public static void main(String[] args) { JSONObject jsonObject = new JSONObject(); jsonObject.append("username", "jiangcui"); jsonObject.append("password", "pdmi1234"); String url = "https://passport.cnblogs.com/user/signin?ReturnUrl=https%3A%2F%2Fwww.cnblogs.com%2F"; String result = HttpClientPostForJson.doPostForJson(url,jsonObject); System.out.println(result); } //静态方法,可直接调用 public static String doPostForJson(String url, JSONObject jsonParams) { CloseableHttpClient closeableHttpClient = HttpClients.createDefault(); // 配置超时时间 RequestConfig requestConfig = RequestConfig.custom() .setConnectTimeout(5000) .setConnectionRequestTimeout(5000) .setSocketTimeout(5000) .setRedirectsEnabled(true) .build(); HttpPost httpPost = new HttpPost(url); //设置超时时间 httpPost.setConfig(requestConfig); httpPost.setHeader("Content-Type", "application/json"); //JSONObject jsonObject = null; try { StringEntity entity = new StringEntity(jsonParams.toString(), "utf-8"); entity.setContentEncoding("utf-8"); entity.setContentType("application/json"); httpPost.setEntity(entity); //执行post CloseableHttpResponse closeableHttpResponse = closeableHttpClient.execute(httpPost); String strRequest = ""; if (null != closeableHttpResponse && !"".equals(closeableHttpResponse)) { System.out.println(closeableHttpResponse.getStatusLine().getStatusCode()); if (closeableHttpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) { HttpEntity httpEntity = closeableHttpResponse.getEntity(); strRequest = EntityUtils.toString(httpEntity); } else { strRequest = "Error Response" + closeableHttpResponse.getStatusLine().getStatusCode(); } } return strRequest; } catch (ClientProtocolException e) { e.printStackTrace(); return "协议异常"; } catch (ParseException e) { e.printStackTrace(); return "解析异常"; } catch (IOException e) { e.printStackTrace(); return "传输异常"; } finally { try { if (closeableHttpClient != null) { closeableHttpClient.close(); } } catch (IOException e) { e.printStackTrace(); } } }}
原文地址:https://www.cnblogs.com/jshtest/p/9070711.html
时间: 2024-10-15 05:06:03