org.apache.commons.httpclient

org.apache.commons.httpclient

 1   /**
 2      * post 方法
 3      * @param  url
 4      * @param params
 5      * @return
 6      */
 7     public static String post(String url, Object content, String encode) throws Exception {
 8
 9         byte[] responseBody = null;
10         HttpClient httpclient = new HttpClient();
11         PostMethod httpPost = new PostMethod(url);
12         // 设置连接超时时间(单位毫秒)
13         httpclient.getHttpConnectionManager().getParams().setConnectionTimeout(60000);
14         // 设置读数据超时时间(单位毫秒)
15         httpclient.getHttpConnectionManager().getParams().setSoTimeout(60000);
16         try {
17             httpPost.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,new DefaultHttpMethodRetryHandler(3, false));
18             // servlet
19             if (content instanceof Map) {
20                 @SuppressWarnings("unchecked")
21                 Map<String, String> map = (Map<String, String>)content;
22                 NameValuePair[] param = new NameValuePair[map.size()];
23
24                 int index = 0;
25                 for (Map.Entry<String, String> entry : map.entrySet()) {
26                     param[index] = new NameValuePair(entry.getKey(),URLEncoder.encode(entry.getValue(), "GBK"));
27                 }
28
29                 httpPost.setRequestBody(param);
30             }
31             // rest
32             else {
33                 httpPost.setRequestEntity(new StringRequestEntity((String)content,"plain/text", encode));
34             }
35
36             // post
37             int statusCode = httpclient.executeMethod(httpPost);
38             // success
39             if (statusCode == HttpStatus.SC_OK) {
40                 responseBody = httpPost.getResponseBody();
41             }
42             // failure
43             else {
44
45             }
46         } catch (HttpException e) {
47             throw new Exception(e.getMessage());
48         } catch (IOException e) {
49             throw new Exception(e.getMessage());
50         } catch (Exception e) {
51             throw new Exception(e.getMessage());
52         } finally {
53             httpPost.releaseConnection();
54         }
55         return new String(responseBody, encode);
56     }
时间: 2024-10-14 09:05:13

org.apache.commons.httpclient的相关文章

httpClient使用中报错org.apache.commons.httpclient.HttpMethodBase - Going to buffer response body of large or unknown size.

在使用HttpClient发送请求,使用httpMethod.getResponseBodyAsString();时当返回值过大时会报错: org.apache.commons.httpclient.HttpMethodBase - Going to buffer response body of large or unknown size. Using getResponseBodyAsStream instead is recommended. 可以如下解决: 1 BufferedReade

通过 Apache Commons HttpClient 发送 HTTPS 请求

1.通过 HTTPS 发送 POST 请求: 2.HTTPS 安全协议采用 TLSv1.2: 3. 使用代理(Proxy)进行 HTTPS 访问: 4.指定 Content-Type 为:application/x-www-form-urlencoded: 5.HTTPS  请求时加载客户端证书(Client Certificate): 6.忽略服务器端证书链(Server Certificate Chain)的校验(Validate). public static void main(Stri

Exception in thread &quot;main&quot; java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory

MyEclipse运行的时候报错,菜鸟不理解是什么意思,最后找了一些资料才知道是因为缺少commons-logging.jar包 Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory at org.apache.commons.httpclient.HttpClient.<clinit>(HttpClient.java:66) at c

Apache Commons 工具类介绍及简单使用

Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动.下面是我这几年做开发过程中自己用过的工具类做简单介绍.   组件 功能介绍 BeanUtils 提供了对于JavaBean进行各种操作,克隆对象,属性等等. Betwixt XML与Java对象之间相互转换. Codec 处理常用的编码方法的工具类包 例如DES.SHA1.MD5.Base64等. Collections java集合框架操作. Compress java提供文件打包 压缩类库. C

Apache Commons 工具集介绍

Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动.下面是我这几年做开发过程中自己用过的工具类做简单介绍. 组件 功能介绍 BeanUtils 提供了对于JavaBean进行各种操作,克隆对象,属性等等. Betwixt XML与Java对象之间相互转换. Codec 处理常用的编码方法的工具类包 例如DES.SHA1.MD5.Base64等. Collections java集合框架操作. Compress java提供文件打包 压缩类库. Con

java模拟http请求上传文件,基于Apache的httpclient

1.依赖 模拟http端的请求需要依赖Apache的httpclient,需要第三方JSON支持,项目中添加 <dependency> <groupId>org.apache</groupId> <artifactId>httpclient</artifactId> <version>4.1.2</version> </dependency> <dependency> <groupId>

Apache Commons工具集简介

Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动.下面是我这几年做开发过程中自己用过的工具类做简单介绍. 组件 功能介绍 BeanUtils 提供了对于JavaBean进行各种操作,克隆对象,属性等等. Betwixt XML与Java对象之间相互转换. Codec 处理常用的编码方法的工具类包 例如DES.SHA1.MD5.Base64等. Collections java集合框架操作. Compress java提供文件打包 压缩类库. Con

Apache Commons 工具集

一.Commons BeanUtils http://jakarta.apache.org/commons/beanutils/index.html 说明:针对Bean的一个工具集.由于Bean往往是有一堆get和set组成,所以BeanUtils也是在此基础上进行一些包装. 使用示例:功能有很多,网站上有详细介绍.一个比较常用的功能是Bean Copy,也就是copy bean的属性.如果做分层架构开发的话就会用到,比如从PO(Persistent Object)拷贝数据到VO(Value O

CVE-2014-0050: Exploit with Boundaries, Loops without Boundaries、Apache Commons FileUpload and Apache Tomcat DoS

catalog 1. Description 2. Analysis 3. POC 4. Solution 1. Description MultipartStream.java in Apache Commons FileUpload before 1.3.1, as used in Apache Tomcat, JBoss Web, and other products, allows remote attackers to cause a denial of service (infini