package com.it.whitejotterapi.tools; 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.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.conn.ssl.DefaultHostnameVerifier; import org.apache.http.conn.util.PublicSuffixMatcher; import org.apache.http.conn.util.PublicSuffixMatcherLoader; 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 java.io.IOException; import java.net.URL; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map;
public class HttpClientUtil { private RequestConfig requestConfig = RequestConfig.custom() .setSocketTimeout(15000) .setConnectTimeout(15000) .setConnectionRequestTimeout(15000) .build(); private static HttpClientUtil instance = null; private HttpClientUtil(){} public static HttpClientUtil getInstance(){ if (instance == null) { instance = new HttpClientUtil(); } return instance; }
public String sendHttpPost(String httpUrl) { HttpPost httpPost = new HttpPost(httpUrl); return sendHttpPost(httpPost,"utf-8"); }
public String sendHttpPost(String httpUrl, Map<String, String> maps,String type) { HttpPost httpPost = new HttpPost(httpUrl); List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); for (String key : maps.keySet()) { nameValuePairs.add(new BasicNameValuePair(key, maps.get(key))); } try { httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs, type)); } catch (Exception e) { e.printStackTrace(); } return sendHttpPost(httpPost,type); }
private String sendHttpPost(HttpPost httpPost,String reponseType) { CloseableHttpClient httpClient = null; CloseableHttpResponse response = null; HttpEntity entity = null; String responseContent = null; try { httpClient = HttpClients.createDefault(); httpPost.setConfig(requestConfig); response = httpClient.execute(httpPost); entity = response.getEntity(); responseContent = EntityUtils.toString(entity, reponseType); } catch (Exception e) { e.printStackTrace(); } finally { try { if (response != null) { response.close(); } if (httpClient != null) { httpClient.close(); } } catch (IOException e) { e.printStackTrace(); } } return responseContent; }
public String sendHttpGet(String httpUrl) { HttpGet httpGet = new HttpGet(httpUrl); return sendHttpGet(httpGet); }
public String sendHttpsGet(String httpUrl) { HttpGet httpGet = new HttpGet(httpUrl); return sendHttpsGet(httpGet); }
@SuppressWarnings({ "rawtypes", "unchecked" }) public int sendMsgUtf8(String Uid,String Key,String content,String mobiles){ Map maps = new HashMap(); maps.put("Uid", Uid); maps.put("Key", Key); maps.put("smsMob", mobiles); maps.put("smsText", content); String result = sendHttpPost("http://utf8.sms.webchinese.cn", maps, "utf-8"); return Integer.parseInt(result); }
@SuppressWarnings({ "rawtypes", "unchecked" }) public int sendMsgGbk(String Uid,String Key,String content,String mobiles){ Map maps = new HashMap(); maps.put("Uid", Uid); maps.put("Key", Key); maps.put("smsMob", mobiles); maps.put("smsText", content); String result = sendHttpPost("http://gbk.sms.webchinese.cn", maps, "gbk"); return Integer.parseInt(result); }
private String sendHttpGet(HttpGet httpGet) { CloseableHttpClient httpClient = null; CloseableHttpResponse response = null; HttpEntity entity = null; String responseContent = null; try { httpClient = HttpClients.createDefault(); httpGet.setConfig(requestConfig); response = httpClient.execute(httpGet); entity = response.getEntity(); responseContent = EntityUtils.toString(entity, "UTF-8"); } catch (Exception e) { e.printStackTrace(); } finally { try { if (response != null) { response.close(); } if (httpClient != null) { httpClient.close(); } } catch (IOException e) { e.printStackTrace(); } } return responseContent; }
private String sendHttpsGet(HttpGet httpGet) { CloseableHttpClient httpClient = null; CloseableHttpResponse response = null; HttpEntity entity = null; String responseContent = null; try { PublicSuffixMatcher publicSuffixMatcher = PublicSuffixMatcherLoader.load(new URL(httpGet.getURI().toString())); DefaultHostnameVerifier hostnameVerifier = new DefaultHostnameVerifier(publicSuffixMatcher); httpClient = HttpClients.custom().setSSLHostnameVerifier(hostnameVerifier).build(); httpGet.setConfig(requestConfig); response = httpClient.execute(httpGet); entity = response.getEntity(); responseContent = EntityUtils.toString(entity, "UTF-8"); } catch (Exception e) { e.printStackTrace(); } finally { try { if (response != null) { response.close(); } if (httpClient != null) { httpClient.close(); } } catch (IOException e) { e.printStackTrace(); } } return responseContent; }
public String getErrorMsg(int errorCode){ if(errorCode==-1){ return "没有该用户账户"; }else if(errorCode==-2){ return "接口密钥不正确"; }else if(errorCode==-3){ return "短信数量不足"; }else if(errorCode==-4){ return "手机号格式不正确"; }else if(errorCode==-21){ return "MD5接口密钥加密不正确"; }else if(errorCode==-11){ return "该用户被禁用"; }else if(errorCode==-14){ return "短信内容出现非法字符"; }else if(errorCode==-41){ return "手机号码为空"; }else if(errorCode==-42){ return "短信内容为空"; }else if(errorCode==-51){ return "短信签名格式不正确"; }else if(errorCode==-6){ return "IP限制"; }else{ return "未知错误码:"+errorCode; } } }
|