package com.mandi.common;
|
|
import java.io.File;
|
import java.io.IOException;
|
import java.nio.charset.Charset;
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.Map;
|
import java.util.Map.Entry;
|
|
import javax.net.ssl.SSLContext;
|
|
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.NoopHostnameVerifier;
|
import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
|
import org.apache.http.entity.StringEntity;
|
import org.apache.http.entity.mime.MultipartEntityBuilder;
|
import org.apache.http.impl.client.CloseableHttpClient;
|
import org.apache.http.impl.client.HttpClients;
|
import org.apache.http.message.BasicNameValuePair;
|
import org.apache.http.ssl.SSLContexts;
|
import org.apache.http.util.EntityUtils;
|
|
import com.google.gson.JsonObject;
|
import com.google.gson.JsonParser;
|
|
/**
|
* @author mengly
|
* @version 创建时间:2015年10月27日 上午9:59:53
|
* 类说明
|
*/
|
|
public class Wxhtmethod {
|
/**
|
* new ssl();
|
* @return
|
* @author mengly
|
* @version 创建时间:2015年10月13日 上午11:21:15
|
*/
|
public static CloseableHttpClient nssl() {
|
CloseableHttpClient httpclient = null;
|
try {
|
SSLContext sslcontext = SSLContexts.createDefault();
|
SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslcontext, NoopHostnameVerifier.INSTANCE);
|
httpclient = HttpClients.custom().setSSLSocketFactory(sslsf).build();
|
}catch(Exception ee){
|
ee.printStackTrace();
|
}
|
return httpclient;
|
}
|
public static String get(String url)
|
{
|
CloseableHttpClient httpclient = HttpClients.createDefault();
|
HttpGet hp=new HttpGet(url);
|
String re=null;
|
try {
|
CloseableHttpResponse cr=null;
|
cr=httpclient.execute(hp);
|
try{
|
HttpEntity he=cr.getEntity();
|
if(he!=null)
|
re=EntityUtils.toString(he,"UTF-8");
|
}catch(Exception ee)
|
{}finally{
|
cr.close();
|
}
|
} catch (Exception e) {
|
e.printStackTrace();
|
}finally{
|
try {
|
httpclient.close();
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
}
|
return re;
|
}
|
public static String ssl_get(String url)
|
{
|
CloseableHttpClient httpclient =nssl();
|
HttpGet hp=new HttpGet(url);
|
String re=null;
|
try {
|
CloseableHttpResponse cr=null;
|
cr=httpclient.execute(hp);
|
try{
|
HttpEntity he=cr.getEntity();
|
if(he!=null)
|
re=EntityUtils.toString(he,"UTF-8");
|
}catch(Exception ee)
|
{}finally{
|
cr.close();
|
}
|
} catch (Exception e) {
|
e.printStackTrace();
|
}finally{
|
try {
|
httpclient.close();
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
}
|
return re;
|
}
|
public static JsonObject postJson(String url,Map<String, String> params)
|
{
|
JsonObject jo=new JsonObject();
|
CloseableHttpClient httpclient = HttpClients.createDefault();
|
HttpPost hp=new HttpPost(url);
|
RequestConfig config = RequestConfig.custom().setConnectTimeout(10000).setSocketTimeout(30000).build();
|
hp.setConfig(config);
|
String re=null;
|
List<NameValuePair> fps=new ArrayList<NameValuePair>();
|
UrlEncodedFormEntity entity=null;
|
if(params!=null)
|
{
|
for (Entry<String, String> en : params.entrySet()) {
|
fps.add(new BasicNameValuePair(en.getKey(), en.getValue()));
|
}
|
}
|
try {
|
entity=new UrlEncodedFormEntity(fps,"UTF-8");
|
hp.setEntity(entity);
|
CloseableHttpResponse cr=null;
|
cr= httpclient.execute(hp);
|
try{
|
int status=cr.getStatusLine().getStatusCode();
|
if(status!=200){
|
jo.addProperty("code", 1);
|
jo.addProperty("errmsg", "网络不通!,网络状态码为:"+status);
|
return jo;
|
}
|
HttpEntity he=cr.getEntity();
|
if(he!=null){
|
re=EntityUtils.toString(he,"UTF-8");
|
try{
|
JsonParser jp=new JsonParser();
|
JsonObject jo1=jp.parse(re).getAsJsonObject();
|
return jo1;
|
}catch(Exception e12){
|
jo.addProperty("code", 1);
|
jo.addProperty("errmsg", e12.getMessage());
|
return jo;
|
}
|
}
|
}catch(Exception ee){
|
jo.addProperty("code", 1);
|
jo.addProperty("errmsg", ee.getMessage());
|
return jo;
|
}finally{
|
cr.close();
|
}
|
} catch (Exception e) {
|
jo.addProperty("code", 1);
|
jo.addProperty("errmsg", e.getMessage());
|
return jo;
|
}finally{
|
try {
|
httpclient.close();
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
}
|
return jo;
|
}
|
public static JsonObject postJsonStr(String url,String jsonStr)
|
{
|
JsonObject jo=new JsonObject();
|
CloseableHttpClient httpclient = HttpClients.createDefault();
|
String re=null;
|
try {
|
// StringEntity s = new StringEntity(jsonStr==null?"":jsonStr);
|
// s.setContentEncoding("UTF-8");
|
// hp.setEntity(s);
|
HttpPost hp=new HttpPost(url);
|
RequestConfig config = RequestConfig.custom().setConnectTimeout(10000).setSocketTimeout(30000).build();
|
hp.setConfig(config);
|
StringEntity se=new StringEntity(jsonStr, Charset.forName("utf-8"));
|
se.setContentType("application/json");
|
hp.setEntity(se);
|
CloseableHttpResponse cr=null;
|
cr= httpclient.execute(hp);
|
try{
|
int status=cr.getStatusLine().getStatusCode();
|
if(status!=200){
|
jo.addProperty("code", 1);
|
jo.addProperty("errmsg", "网络不通!,网络状态码为:"+status);
|
return jo;
|
}
|
HttpEntity he=cr.getEntity();
|
if(he!=null){
|
re=EntityUtils.toString(he,"UTF-8");
|
try{
|
JsonParser jp=new JsonParser();
|
JsonObject jo1=jp.parse(re).getAsJsonObject();
|
return jo1;
|
}catch(Exception e12){
|
jo.addProperty("code", 1);
|
jo.addProperty("errmsg", e12.getMessage());
|
return jo;
|
}
|
}
|
}catch(Exception ee){
|
jo.addProperty("code", 1);
|
jo.addProperty("errmsg", ee.getMessage());
|
return jo;
|
}finally{
|
cr.close();
|
}
|
} catch (Exception e) {
|
jo.addProperty("code", 1);
|
jo.addProperty("errmsg", e.getMessage());
|
return jo;
|
}finally{
|
try {
|
httpclient.close();
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
}
|
return jo;
|
}
|
|
|
public static JsonObject getJson(String url)
|
{
|
JsonObject jo=new JsonObject();
|
CloseableHttpClient httpclient = HttpClients.createDefault();
|
HttpGet hp=new HttpGet(url);
|
String re=null;
|
try {
|
CloseableHttpResponse cr=null;
|
cr= httpclient.execute(hp);
|
try{
|
int status=cr.getStatusLine().getStatusCode();
|
if(status!=200){
|
jo.addProperty("code", 1);
|
jo.addProperty("errmsg", "网络不通!,网络状态码为:"+status);
|
return jo;
|
}
|
HttpEntity he=cr.getEntity();
|
if(he!=null){
|
re=EntityUtils.toString(he,"UTF-8");
|
try{
|
JsonParser jp=new JsonParser();
|
JsonObject jo1=jp.parse(re).getAsJsonObject();
|
return jo1;
|
}catch(Exception e12){
|
jo.addProperty("code", 1);
|
jo.addProperty("errmsg", e12.getMessage());
|
return jo;
|
}
|
}
|
}catch(Exception ee){
|
jo.addProperty("code", 1);
|
jo.addProperty("errmsg", ee.getMessage());
|
return jo;
|
}finally{
|
cr.close();
|
}
|
} catch (Exception e) {
|
jo.addProperty("code", 1);
|
jo.addProperty("errmsg", e.getMessage());
|
return jo;
|
}finally{
|
try {
|
httpclient.close();
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
}
|
return jo;
|
}
|
public static String post(String url,Map<String, String> params)
|
{
|
CloseableHttpClient httpclient = HttpClients.createDefault();
|
HttpPost hp=new HttpPost(url);
|
RequestConfig config = RequestConfig.custom().setConnectTimeout(10000).setSocketTimeout(30000).build();
|
hp.setConfig(config);
|
String re=null;
|
List<NameValuePair> fps=new ArrayList<NameValuePair>();
|
UrlEncodedFormEntity entity=null;
|
if(params!=null)
|
{
|
for (Entry<String, String> en : params.entrySet()) {
|
fps.add(new BasicNameValuePair(en.getKey(), en.getValue()));
|
}
|
}
|
try {
|
entity=new UrlEncodedFormEntity(fps,"UTF-8");
|
hp.setEntity(entity);
|
CloseableHttpResponse cr=null;
|
cr= httpclient.execute(hp);
|
try{
|
HttpEntity he=cr.getEntity();
|
if(he!=null)
|
re=EntityUtils.toString(he,"UTF-8");
|
}catch(Exception ee)
|
{}finally{
|
cr.close();
|
}
|
} catch (Exception e) {
|
}finally{
|
try {
|
httpclient.close();
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
}
|
return re;
|
}
|
|
public static String ssl_post(String url,Map<String, String> params)
|
{
|
CloseableHttpClient httpclient=nssl();
|
// CloseableHttpClient httpclient = HttpClients.createDefault();
|
HttpPost hp=new HttpPost(url);
|
RequestConfig config = RequestConfig.custom().setConnectTimeout(10000).setSocketTimeout(30000).build();
|
hp.setConfig(config);
|
String re=null;
|
List<NameValuePair> fps=new ArrayList<NameValuePair>();
|
UrlEncodedFormEntity entity=null;
|
if(params!=null)
|
{
|
for (Entry<String, String> en : params.entrySet()) {
|
fps.add(new BasicNameValuePair(en.getKey(), en.getValue()));
|
}
|
}
|
try {
|
entity=new UrlEncodedFormEntity(fps,"UTF-8");
|
hp.setEntity(entity);
|
CloseableHttpResponse cr=null;
|
cr=httpclient.execute(hp);
|
try{
|
HttpEntity he=cr.getEntity();
|
if(he!=null)
|
re=EntityUtils.toString(he,"UTF-8");
|
}catch(Exception ee)
|
{}finally{
|
cr.close();
|
}
|
} catch (Exception e) {
|
e.printStackTrace();
|
}finally{
|
try {
|
httpclient.close();
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
}
|
return re;
|
}
|
|
public static String ssl_postmultipart(String url,Map<String, String> params,String upfilename,File file)
|
{
|
CloseableHttpClient httpclient=nssl();
|
HttpPost hp=new HttpPost(url);
|
RequestConfig config = RequestConfig.custom().setConnectTimeout(10000).setSocketTimeout(30000).build();
|
hp.setConfig(config);
|
MultipartEntityBuilder me=MultipartEntityBuilder.create();
|
me.addBinaryBody(upfilename, file);
|
if(params!=null)
|
for (Entry<String, String> en : params.entrySet()) {
|
me.addTextBody(en.getKey(), en.getValue());
|
}
|
hp.setEntity(me.build());
|
String re=null;
|
try {
|
CloseableHttpResponse cr=null;
|
cr=httpclient.execute(hp);
|
try{
|
HttpEntity he=cr.getEntity();
|
if(he!=null)
|
re=EntityUtils.toString(he,"UTF-8");
|
}catch(Exception ee)
|
{}finally{
|
cr.close();
|
}
|
} catch (Exception e) {
|
e.printStackTrace();
|
}finally{
|
try {
|
httpclient.close();
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
}
|
return re;
|
}
|
public static String ssl_postbody(String url,String body)
|
{
|
CloseableHttpClient httpclient=nssl();
|
HttpPost hp=new HttpPost(url);
|
RequestConfig config = RequestConfig.custom().setConnectTimeout(10000).setSocketTimeout(30000).build();
|
hp.setConfig(config);
|
StringEntity se=new StringEntity(body, Charset.forName("utf-8"));
|
hp.setEntity(se);
|
String re=null;
|
try {
|
CloseableHttpResponse cr=null;
|
cr=httpclient.execute(hp);
|
try{
|
HttpEntity he=cr.getEntity();
|
if(he!=null)
|
re=EntityUtils.toString(he,"UTF-8");
|
}catch(Exception ee)
|
{}finally{
|
cr.close();
|
}
|
} catch (Exception e) {
|
e.printStackTrace();
|
}finally{
|
try {
|
httpclient.close();
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
}
|
return re;
|
}
|
public static String first2Upper(String str)
|
{
|
if(str==null)
|
return null;
|
char[] cs=str.toCharArray();
|
cs[0]-=32;
|
return String.valueOf(cs);
|
}
|
|
}
|