HttpClientUtil(HttpClient工具类)
来源:互联网 发布:淘宝买的三鞭酒 编辑:程序博客网 时间:2024/05/23 18:12
import java.util.Map;
import org.apache.commons.collections4.map.HashedMap;
import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.methods.RequestEntity;
import org.apache.commons.httpclient.methods.StringRequestEntity;
import org.apache.commons.httpclient.params.HttpMethodParams;
import org.apache.log4j.Logger;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
public class HttpClientUtil {
private static Logger logger = Logger.getLogger(HttpClientUtil.class);
/**
*timeout:超时(毫秒) encoding:编码
public static String postWay(String url, Map<String, String> map,
int timeout, String encoding) {
String result = "";
PostMethod postMethod = null;
try {
// 读取内容
HttpClient httpClient = new HttpClient();
// 设置超时
httpClient.setConnectionTimeout(timeout);
if (encoding != null && !"".equals(encoding)) {
// 设置编码
httpClient.getParams().setParameter(
HttpMethodParams.HTTP_CONTENT_CHARSET, encoding);
}
postMethod = new PostMethod(url);
postMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
new DefaultHttpMethodRetryHandler());
// 参数
if (map != null && map.size() != 0) {
int i = map.size();
NameValuePair[] params = new NameValuePair[i];
int k = 0;
for (String key : map.keySet()) {
params[k] = new NameValuePair(key, map.get(key));
k++;
}
postMethod.setRequestBody(params);
}
httpClient.executeMethod(postMethod);
// 第一种方式
result = postMethod.getResponseBodyAsString();
} catch (Exception e) {
logger.error("httpclient请求异常", e);
} finally {
postMethod.releaseConnection();
}
return result;
}
/**
* 以json格式传送参数
* @param url
* @param json
* @param timeout
* @param encoding
* @return
*/
public static String postWay(String url, String json,int timeout, String encoding) {
String result = "";
PostMethod postMethod = null;
try {
// 读取内容
HttpClient httpClient = new HttpClient();
// 设置连接超时
httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(timeout);
postMethod = new PostMethod(url);
RequestEntity se = new StringRequestEntity(json, "application/json", encoding);
postMethod.setRequestEntity(se);
postMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,new DefaultHttpMethodRetryHandler());
//请求超时
postMethod.getParams().setParameter(HttpMethodParams.SO_TIMEOUT, 30000);
httpClient.executeMethod(postMethod);
result = postMethod.getResponseBodyAsString();
} catch (Exception e) {
logger.error("httpclient请求异常", e);
e.printStackTrace();
} finally {
postMethod.releaseConnection();
}
return result;
}
}
import org.apache.commons.collections4.map.HashedMap;
import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.methods.RequestEntity;
import org.apache.commons.httpclient.methods.StringRequestEntity;
import org.apache.commons.httpclient.params.HttpMethodParams;
import org.apache.log4j.Logger;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
public class HttpClientUtil {
private static Logger logger = Logger.getLogger(HttpClientUtil.class);
/**
*timeout:超时(毫秒) encoding:编码
*/
/**
* 以map格式传送参数
* @param url
* @param map
* @param timeout
* @param encoding
* @return
*/
public static String postWay(String url, Map<String, String> map,
int timeout, String encoding) {
String result = "";
PostMethod postMethod = null;
try {
// 读取内容
HttpClient httpClient = new HttpClient();
// 设置超时
httpClient.setConnectionTimeout(timeout);
if (encoding != null && !"".equals(encoding)) {
// 设置编码
httpClient.getParams().setParameter(
HttpMethodParams.HTTP_CONTENT_CHARSET, encoding);
}
postMethod = new PostMethod(url);
postMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
new DefaultHttpMethodRetryHandler());
// 参数
if (map != null && map.size() != 0) {
int i = map.size();
NameValuePair[] params = new NameValuePair[i];
int k = 0;
for (String key : map.keySet()) {
params[k] = new NameValuePair(key, map.get(key));
k++;
}
postMethod.setRequestBody(params);
}
httpClient.executeMethod(postMethod);
// 第一种方式
result = postMethod.getResponseBodyAsString();
} catch (Exception e) {
logger.error("httpclient请求异常", e);
} finally {
postMethod.releaseConnection();
}
return result;
}
/**
* 以json格式传送参数
* @param url
* @param json
* @param timeout
* @param encoding
* @return
*/
public static String postWay(String url, String json,int timeout, String encoding) {
String result = "";
PostMethod postMethod = null;
try {
// 读取内容
HttpClient httpClient = new HttpClient();
// 设置连接超时
httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(timeout);
postMethod = new PostMethod(url);
RequestEntity se = new StringRequestEntity(json, "application/json", encoding);
postMethod.setRequestEntity(se);
postMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,new DefaultHttpMethodRetryHandler());
//请求超时
postMethod.getParams().setParameter(HttpMethodParams.SO_TIMEOUT, 30000);
httpClient.executeMethod(postMethod);
result = postMethod.getResponseBodyAsString();
} catch (Exception e) {
logger.error("httpclient请求异常", e);
e.printStackTrace();
} finally {
postMethod.releaseConnection();
}
return result;
}
}
阅读全文
0 0
- HttpClientUtil(HttpClient工具类)
- 基于httpClient的HttpClientUtil工具类
- HttpClientUtil工具类
- HttpClientUtil工具类
- HttpClientUtil工具类
- 工具类-HttpClientUtil
- HttpClientUtil工具类
- HttpClientUtil工具类
- [工具类]HttpClientUtil简单工具
- java http HttpClientUtil 工具类
- 网络请求工具类--HttpClientUtil
- HttpClientUtil工具
- HttpClientUtil 等各类工具类的编写
- HttpClientUtil工具类,发送get请求和post请求
- 常用工具类之HttpclientUtil
- HttpClientUtil
- HttpClientUtil
- HttpClientUtil
- 2017西安交大ACM小学期 毁灭序列[倒跑并查集]
- Java 数组详解
- 什么是正向代理和反向代理,如何使用nginx搭建正向代理和反向代理
- windows安装eclipse开发hadoop
- 几种流行Webservice框架性能对比
- HttpClientUtil(HttpClient工具类)
- Scala中的延迟初始化(Lazy vals)
- Ubuntu下安装2017新版QQ
- C语言 error C2143: syntax error : missing ';' before 'type'
- mysql-python安装时EnvironmentError: mysql_config not found
- JS代码质量检查工具,后起之秀-eslint
- Java中类加载机制与反射
- TOJ 3471.Happy XiaoXiao Guo
- linux下离线安装mariadb(mysql)二进制包