package cn.net.zzfz.center.common.util;
import java.net.ConnectException;
import java.net.SocketException;
import java.net.SocketTimeoutException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.StatusLine;
import org.apache.http.client.HttpClient;
import org.apache.http.client.HttpResponseException;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"deprecation","resource"})
public class HttpClientUtil {
private static Logger logger = LoggerFactory.getLogger(HttpClientUtil.class);
public static String httpClientPost(String url, Map<String, String> paramMap, final String encode) {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(url);
try {
if(paramMap != null){
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(paramMap.keySet().size());
for (String key : paramMap.keySet()) {
nameValuePairs.add(new BasicNameValuePair(key, paramMap.get(key) == null ? "" : paramMap.get(key)));
}
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs, encode));
}
HttpResponse response = httpclient.execute(httppost);
StatusLine statusLine = response.getStatusLine();
if (statusLine.getStatusCode() >= 300) {
throw new HttpResponseException(statusLine.getStatusCode(), statusLine.getReasonPhrase());
}
HttpEntity entity = response.getEntity();
return entity == null ? null : EntityUtils.toString(entity, encode);
} catch (SocketTimeoutException e) {// 请求超时异常直接抛出
logger.info("请求超时" + url + paramMap, e);
} catch (ConnectException e) {
logger.info("请求超时" + url + paramMap, e);
} catch (SocketException e) {// IO异常捕获
logger.info("请求超时" + url + paramMap, e);
} catch (Throwable e) {
throw new RuntimeException(e);
}
return "";
}
public static String httpClientGet(String url, final String encode) {
HttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet(url);
try {
HttpResponse response = httpclient.execute(httpget);
StatusLine statusLine = response.getStatusLine();
if (statusLine.getStatusCode() >= 300) {
throw new HttpResponseException(statusLine.getStatusCode(), statusLine.getReasonPhrase());
}
HttpEntity entity = response.getEntity();
return entity == null ? null : EntityUtils.toString(entity, encode);
} catch (ConnectException e) {
logger.info("请求超时" + url , e);
} catch (SocketException e) {// IO异常捕获
logger.info("请求超时" + url , e);
} catch (Throwable e) {
throw new RuntimeException(e);
}
return "";
}
}
import java.net.ConnectException;
import java.net.SocketException;
import java.net.SocketTimeoutException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.StatusLine;
import org.apache.http.client.HttpClient;
import org.apache.http.client.HttpResponseException;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"deprecation","resource"})
public class HttpClientUtil {
private static Logger logger = LoggerFactory.getLogger(HttpClientUtil.class);
public static String httpClientPost(String url, Map<String, String> paramMap, final String encode) {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(url);
try {
if(paramMap != null){
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(paramMap.keySet().size());
for (String key : paramMap.keySet()) {
nameValuePairs.add(new BasicNameValuePair(key, paramMap.get(key) == null ? "" : paramMap.get(key)));
}
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs, encode));
}
HttpResponse response = httpclient.execute(httppost);
StatusLine statusLine = response.getStatusLine();
if (statusLine.getStatusCode() >= 300) {
throw new HttpResponseException(statusLine.getStatusCode(), statusLine.getReasonPhrase());
}
HttpEntity entity = response.getEntity();
return entity == null ? null : EntityUtils.toString(entity, encode);
} catch (SocketTimeoutException e) {// 请求超时异常直接抛出
logger.info("请求超时" + url + paramMap, e);
} catch (ConnectException e) {
logger.info("请求超时" + url + paramMap, e);
} catch (SocketException e) {// IO异常捕获
logger.info("请求超时" + url + paramMap, e);
} catch (Throwable e) {
throw new RuntimeException(e);
}
return "";
}
public static String httpClientGet(String url, final String encode) {
HttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet(url);
try {
HttpResponse response = httpclient.execute(httpget);
StatusLine statusLine = response.getStatusLine();
if (statusLine.getStatusCode() >= 300) {
throw new HttpResponseException(statusLine.getStatusCode(), statusLine.getReasonPhrase());
}
HttpEntity entity = response.getEntity();
return entity == null ? null : EntityUtils.toString(entity, encode);
} catch (ConnectException e) {
logger.info("请求超时" + url , e);
} catch (SocketException e) {// IO异常捕获
logger.info("请求超时" + url , e);
} catch (Throwable e) {
throw new RuntimeException(e);
}
return "";
}
}