java http HttpClientUtil 工具类
来源:互联网 发布:淘宝什么叫黑车 编辑:程序博客网 时间:2024/05/23 21:54
public class HttpClientUtil { private static final Log logger = LogFactory.getLog(UploaderController.class); private static final String USER_AGENT = "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.16) Gecko/20110319 BTRS96900 Firefox/3.6.16"; public static String getSourceByUrl(final String url) { HttpClient httpClient = new HttpClient(); String str = null; PostMethod getMethod = new PostMethod(url); getMethod.setRequestHeader("User-Agent",USER_AGENT); getMethod.getParams().setParameter("http.protocol.cookie-policy", CookiePolicy.BROWSER_COMPATIBILITY); getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler(0, false)); getMethod.getParams().setParameter(HttpMethodParams.SO_TIMEOUT, 0); httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(0); try { int statusCode = httpClient.executeMethod(getMethod); if (statusCode != HttpStatus.SC_OK) { logger.error("Method failed: " + getMethod.getStatusLine()); } str = IOUtils.toString(getMethod.getResponseBodyAsStream(), "UTF-8"); } catch (UnknownHostException e) { logger.error("UnknownHostException: Please check your provided http address!"); } catch (HttpException e) { logger.error("HttpException: Please check your provided http address!"); } catch (ConnectException e) { logger.error("IOException: Please check your provided http address!"); } catch (IOException e) { logger.error("IOException: Please check your provided http address!"); } finally { getMethod.releaseConnection(); } return str; } public static String post(String url, NameValuePair[] params) { HttpClient httpClient = new HttpClient(); String str = null; PostMethod getMethod = new PostMethod(url); getMethod.setRequestHeader("User-Agent",USER_AGENT); getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler(0, false)); getMethod.getParams().setParameter(HttpMethodParams.SO_TIMEOUT, 10000); httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(30000); httpClient.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, "UTF-8"); if (params != null) { getMethod.addParameters(params); } try { int statusCode = httpClient.executeMethod(getMethod); if (statusCode != HttpStatus.SC_OK) { logger.error("Method failed: " + getMethod.getStatusLine() + ",url:[" + url + "]"); } str = getMethod.getResponseBodyAsString(); } catch (Exception e) { logger.error("HttpClientUtil post error.url:[" + url + "]", e); } finally { getMethod.releaseConnection(); } return str; } public static String get(String url) { HttpClient httpClient = new HttpClient(); String str = null; GetMethod getMethod = new GetMethod(url); getMethod.setRequestHeader("User-Agent",USER_AGENT); getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler(0, false)); getMethod.getParams().setParameter(HttpMethodParams.SO_TIMEOUT, 10000); httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(30000); httpClient.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, "UTF-8"); try { int statusCode = httpClient.executeMethod(getMethod); if (statusCode != HttpStatus.SC_OK) { logger.error("Method failed: " + getMethod.getStatusLine() + ",url:[" + url + "]"); } str = getMethod.getResponseBodyAsString(); } catch (Exception e) { logger.error("HttpClientUtil get error.url:[" + url + "]", e); } finally { getMethod.releaseConnection(); } return str; }}
0 0
- java http HttpClientUtil 工具类
- HttpClientUtil工具类
- HttpClientUtil工具类
- HttpClientUtil工具类
- 工具类-HttpClientUtil
- HttpClientUtil(HttpClient工具类)
- HttpClientUtil工具类
- HttpClientUtil工具类
- [工具类]HttpClientUtil简单工具
- 网络请求工具类--HttpClientUtil
- HttpClientUtil工具
- 基于httpClient的HttpClientUtil工具类
- HttpClientUtil 等各类工具类的编写
- HttpClientUtil工具类,发送get请求和post请求
- Java http 工具类
- 工具类http.java
- JAVA -----HTTP工具类
- java http工具类
- HBASE-1.2.4开发环境搭建
- 540UVa小团体队列
- 直角三角形求斜边
- Java Web开发中前后端分离的技术方案和优缺点
- [经验] 物联网项目开发必读 深度分析MQTT协议优缺点
- java http HttpClientUtil 工具类
- 普通程序员如何转向人工智能方向?
- HTML实现遮罩层的方法 HTML中如何使用遮罩层
- POJ 2503 Babelfish [map & string]
- MachineLearning经典图
- 服务器搭建多个tomcat服务器
- 解方程(2)
- 机器学习之决策树——学习总结
- Codeforces Round #392 (Div. 2) B. Blown Garland