package com.croot.ta.controller;
import java.util.HashMap;
import java.util.Map;
import org.springframework.http.HttpHeaders;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.croot.ta.rest.Response;
import com.croot.ta.utils.HttpClientUtil;
/**
* ?
*
* @author ?wulei
* @ClassName: TaAccountInfoController?
* @Description: TA 賬號(hào)信息
* @date 2018年10月25日 下午1:42:53?
*/
@RestController
@RequestMapping("httpclient")
public class HttpClientTestController {
? ? @RequestMapping("/post")
? ? public Response restpost() {
? ? ? ? // 存放請(qǐng)求參數(shù)集合
? ? ? ? Map<String, String> params = new HashMap<>(3);
? ? ? ? params.put("productNum", "2");
? ? ? ? params.put("productType", "");
? ? ? ? params.put("schemeId", "a2f35119");
? ? ? ? /*String url = "http://192.168.1.43:8084/TA/scheme/performance/selectDetail";*/
? ? ? ? String url = "http://192.168.8.32:8080/TA/scheme/performance/selectDetail";
? ? ? ? String result = HttpClientUtil.doPost(url, params);
? ? ? ? System.out.println(result);
? ? ? ? return null;
? ? }
? ? @RequestMapping("/get")
? ? public Response restget() {
? ? ? ? // 存放請(qǐng)求參數(shù)集合
? ? ? ? Map<String, String> params = new HashMap<>(3);
? ? ? ? params.put("acctID", "JY1000000004");
? ? ? ? params.put("custID", "200010000007");
? ? ? ? params.put("custFundAcctID", "100020000008");
? ? ? ? /* String url =
? ? ? ? ? ? "http://192.168.8.32:8080/TA/accountInfo/getAccountInfo?acctID={acctID}&custID={custID}&custFundAcctID={custFundAcctID}";
? ? ? ? */
? ? ? ? String url = "http://192.168.8.32:8080/TA/accountInfo/getAccountInfo";
? ? ? ? HttpHeaders headers = new HttpHeaders();
? ? ? ? headers.add("uuid",
? ? ? ? ? ? "crooteyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJjcm9vdCIsInN1YiI6Ijk5OTkwIiwiZXhwIjoxNTQ4ODEwNzI3LCJuYmYiOjE1NDgyMDU5Mjd9.vAkE0UZNIkMvVnUCD5ijHHFC1Wmo0129FJiYvO9w1cA");
? ? ? ? String result = HttpClientUtil.doGet(url, params);
? ? ? ? System.out.println(result);
? ? ? ? return null;
? ? }
}
package com.croot.ta.utils;
import java.io.IOException;
import java.net.URI;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.apache.http.NameValuePair;
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.client.utils.URIBuilder;
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.slf4j.Logger;
import org.slf4j.LoggerFactory;
import net.sf.json.JSONObject;
/**
* @Description: 三方接口 調(diào)用工具類
* @author ?wulei
* @date 2019年1月22日 下午5:25:11?
*/
public class HttpClientUtil {
? ? private static final Logger logger = LoggerFactory.getLogger(HttpClientUtil.class);
? ? public static String doGet(String url, Map<String, String> param) {
? ? ? ? CloseableHttpClient httpclient = HttpClients.createDefault();
? ? ? ? String resultString = "";
? ? ? ? CloseableHttpResponse response = null;
? ? ? ? try {
? ? ? ? ? ? URIBuilder builder = new URIBuilder(url);
? ? ? ? ? ? if (param != null) {
? ? ? ? ? ? ? ? for (String key : param.keySet()) {
? ? ? ? ? ? ? ? ? ? builder.addParameter(key, param.get(key));
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? URI uri = builder.build();
? ? ? ? ? ? // 創(chuàng)建http GET請(qǐng)求
? ? ? ? ? ? HttpGet httpGet = new HttpGet(uri);
? ? ? ? ? ? httpGet.addHeader("uuid",
? ? ? ? ? ? ? ? "crooteyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJjcm9vdCIsInN1YiI6Ijk5OTkwIiwiZXhwIjoxNTQ4ODEwNzI3LCJuYmYiOjE1NDgyMDU5Mjd9.vAkE0UZNIkMvVnUCD5ijHHFC1Wmo0129FJiYvO9w1cA");
? ? ? ? ? ? response = httpclient.execute(httpGet);
? ? ? ? ? ? if (response.getStatusLine().getStatusCode() == 200) {
? ? ? ? ? ? ? ? resultString = EntityUtils.toString(response.getEntity(), "UTF-8");
? ? ? ? ? ? }
? ? ? ? } catch (Exception e) {
? ? ? ? ? ? e.printStackTrace();
? ? ? ? } finally {
? ? ? ? ? ? try {
? ? ? ? ? ? ? ? if (response != null) {
? ? ? ? ? ? ? ? ? ? response.close();
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? httpclient.close();
? ? ? ? ? ? } catch (IOException e) {
? ? ? ? ? ? ? ? e.printStackTrace();
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? logger.debug(resultString);
? ? ? ? return resultString;
? ? }
? ? public static String doGet(String url) {
? ? ? ? return doGet(url, null);
? ? }
? ? public static String doPostTime(String url, Map<String, String> param) {
? ? ? ? // 創(chuàng)建Httpclient對(duì)象
? ? ? ? CloseableHttpClient httpClient = HttpClients.createDefault();
? ? ? ? CloseableHttpResponse response = null;
? ? ? ? String resultString = "{\"result\":\"false\"}";
? ? ? ? try {
? ? ? ? ? ? // 創(chuàng)建Http Post請(qǐng)求
? ? ? ? ? ? HttpPost httpPost = new HttpPost(url);
? ? ? ? ? ? // 創(chuàng)建參數(shù)列表
? ? ? ? ? ? if (param != null) {
? ? ? ? ? ? ? ? List<NameValuePair> paramList = new ArrayList<>();
? ? ? ? ? ? ? ? for (String key : param.keySet()) {
? ? ? ? ? ? ? ? ? ? paramList.add(new BasicNameValuePair(key, param.get(key)));
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? // 模擬表單
? ? ? ? ? ? ? ? UrlEncodedFormEntity entity = new UrlEncodedFormEntity(paramList, "utf-8");
? ? ? ? ? ? ? ? httpPost.setEntity(entity);
? ? ? ? ? ? }
? ? ? ? ? ? // 執(zhí)行http請(qǐng)求
? ? ? ? ? ? response = httpClient.execute(httpPost);
? ? ? ? ? ? resultString = EntityUtils.toString(response.getEntity(), "utf-8");
? ? ? ? ? ? System.out.println(resultString);
? ? ? ? ? ? System.out.println("{\"result\":\"true\"}");
? ? ? ? ? ? System.out.println("===================");
? ? ? ? } catch (Exception e) {
? ? ? ? ? ? resultString = "{\"result\":\"false\"}";
? ? ? ? ? ? logger.debug("發(fā)送請(qǐng)求到業(yè)務(wù)系統(tǒng)失敗!請(qǐng)檢查網(wǎng)絡(luò)連接設(shè)置!");
? ? ? ? } finally {
? ? ? ? ? ? try {
? ? ? ? ? ? ? ? if (response != null) {
? ? ? ? ? ? ? ? ? ? response.close();
? ? ? ? ? ? ? ? }
? ? ? ? ? ? } catch (IOException e) {
? ? ? ? ? ? ? ? resultString = "{\"result\":\"false\"}";
? ? ? ? ? ? ? ? logger.debug("發(fā)送請(qǐng)求到業(yè)務(wù)系統(tǒng)失斮炻怠!請(qǐng)檢查網(wǎng)絡(luò)連接設(shè)置宣渗!");
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? return resultString;
? ? }
? ? public static String doPost(String url, Map<String, String> param) {
? ? ? ? // 創(chuàng)建Httpclient對(duì)象
? ? ? ? CloseableHttpClient httpClient = HttpClients.createDefault();
? ? ? ? CloseableHttpResponse response = null;
? ? ? ? String resultString = "{\"result\":\"false\"}";
? ? ? ? try {
? ? ? ? ? ? // 創(chuàng)建Http Post請(qǐng)求
? ? ? ? ? ? HttpPost httpPost = new HttpPost(url);
? ? ? ? ? ? // 創(chuàng)建參數(shù)列表
? ? ? ? ? ? if (param != null) {
? ? ? ? ? ? ? ? List<NameValuePair> paramList = new ArrayList<>();
? ? ? ? ? ? ? ? for (String key : param.keySet()) {
? ? ? ? ? ? ? ? ? ? paramList.add(new BasicNameValuePair(key, param.get(key)));
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? // 模擬表單
? ? ? ? ? ? ? ? /*? UrlEncodedFormEntity entity = new UrlEncodedFormEntity(paramList, "utf-8");
? ? ? ? ? ? ? ? httpPost.setEntity(entity);*/
? ? ? ? ? ? ? ? // 模擬傳json
? ? ? ? ? ? ? ? // ************
? ? ? ? ? ? ? ? JSONObject fromObject = JSONObject.fromObject(param);
? ? ? ? ? ? ? ? StringEntity s = new StringEntity(fromObject.toString());
? ? ? ? ? ? ? ? httpPost.setEntity(s);
? ? ? ? ? ? ? ? httpPost.setHeader("Content-Type", "application/json");
? ? ? ? ? ? ? ? // ************
? ? ? ? ? ? ? ? httpPost.addHeader("uuid",
? ? ? ? ? ? ? ? ? ? "crooteyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJjcm9vdCIsInN1YiI6Ijk5OTkwIiwiZXhwIjoxNTQ4ODI3MDgzLCJuYmYiOjE1NDgyMjIyODN9.uJYlhDCyVDjhNijpWZh2uf7OiW1bVNIyxAGbr9tfUFE");
? ? ? ? ? ? }
? ? ? ? ? ? // 執(zhí)行http請(qǐng)求
? ? ? ? ? ? response = httpClient.execute(httpPost);
? ? ? ? ? ? resultString = EntityUtils.toString(response.getEntity(), "utf-8");
? ? ? ? ? ? System.out.println("調(diào)用系統(tǒng)返回json == " + resultString);
? ? ? ? ? ? // JSONObject json = JSONObject.parseObject(resultString);
? ? ? ? ? ? // boolean b = Boolean.parseBoolean(json.get("result").toString());
? ? ? ? ? ? // if(b){
? ? ? ? ? ? // resultString ="{\"result\":\"true\"}";
? ? ? ? ? ? // }
? ? ? ? ? ? // if(!"{\"result\":\"true\"}".equals(resultString)){
? ? ? ? ? ? // resultString ="{\"result\":\"false\"}";
? ? ? ? ? ? // }
? ? ? ? } catch (Exception e) {
? ? ? ? ? ? resultString = "{\"result\":\"false\"}";
? ? ? ? ? ? logger.debug("發(fā)送請(qǐng)求到業(yè)務(wù)系統(tǒng)失斎鄄簟释移!請(qǐng)檢查網(wǎng)絡(luò)連接設(shè)置捣郊!");
? ? ? ? } finally {
? ? ? ? ? ? try {
? ? ? ? ? ? ? ? if (response != null) {
? ? ? ? ? ? ? ? ? ? response.close();
? ? ? ? ? ? ? ? }
? ? ? ? ? ? } catch (IOException e) {
? ? ? ? ? ? ? ? resultString = "{\"result\":\"false\"}";
? ? ? ? ? ? ? ? logger.debug("發(fā)送請(qǐng)求到業(yè)務(wù)系統(tǒng)失斄杀贰!請(qǐng)檢查網(wǎng)絡(luò)連接設(shè)置呛牲!");
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? return resultString;
? ? }
? ? public static String doPost(String url) {
? ? ? ? return doPost(url, null);
? ? }
? ? public static String doPostJson(String url, String json) {
? ? ? ? // 創(chuàng)建Httpclient對(duì)象
? ? ? ? CloseableHttpClient httpClient = HttpClients.createDefault();
? ? ? ? CloseableHttpResponse response = null;
? ? ? ? String resultString = "";
? ? ? ? try {
? ? ? ? ? ? // 創(chuàng)建Http Post請(qǐng)求
? ? ? ? ? ? HttpPost httpPost = new HttpPost(url);
? ? ? ? ? ? // 創(chuàng)建請(qǐng)求內(nèi)容
? ? ? ? ? ? StringEntity entity = new StringEntity(json, ContentType.APPLICATION_JSON);
? ? ? ? ? ? httpPost.setEntity(entity);
? ? ? ? ? ? // 執(zhí)行http請(qǐng)求
? ? ? ? ? ? response = httpClient.execute(httpPost);
? ? ? ? ? ? resultString = EntityUtils.toString(response.getEntity(), "utf-8");
? ? ? ? } catch (Exception e) {
? ? ? ? ? ? e.printStackTrace();
? ? ? ? } finally {
? ? ? ? ? ? try {
? ? ? ? ? ? ? ? response.close();
? ? ? ? ? ? } catch (IOException e) {
? ? ? ? ? ? ? ? // TODO Auto-generated catch block
? ? ? ? ? ? ? ? e.printStackTrace();
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? return resultString;
? ? }
}