`
ispring
  • 浏览: 360029 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

HttpClient 一定要设置超时和示范连接

阅读更多
package cn.com.sinosoft.test.http;

import org.apache.commons.httpclient.HostConfiguration;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.methods.StringRequestEntity;
import org.apache.commons.httpclient.params.HttpConnectionManagerParams;

public class PostSample {
public static void main(String[] args) {
  HttpClient httpClient = new HttpClient();
  // 设置代理
  // HostConfiguration hcf = new HostConfiguration();
  // hcf.setProxy("localhost", 8118);
  // httpClient.setHostConfiguration(hcf);

  HttpConnectionManagerParams managerParams = httpClient
    .getHttpConnectionManager().getParams();
  // 设置连接超时时间(单位毫秒)
  managerParams.setConnectionTimeout(30000);
  // 设置读数据超时时间(单位毫秒)
  managerParams.setSoTimeout(120000);

  String url = "http://localhost/testweb/commserver";
  PostMethod postMethod = new PostMethod(url);

  // 将请求参数XML的值放入postMethod中
  String strResponse = null;
  try {
   postMethod.setRequestEntity(new StringRequestEntity(
     createRequestXML(), "text/xml", "GBK"));
   int statusCode = httpClient.executeMethod(postMethod);
   if (statusCode != HttpStatus.SC_OK) {
    throw new IllegalStateException("Method failed: "
      + postMethod.getStatusLine());
   }
   strResponse = postMethod.getResponseBodyAsString();
  } catch (Exception ex) {
   throw new IllegalStateException(ex.toString());
  } finally {
   // 释放连接
   postMethod.releaseConnection();
  }
  System.out.println(strResponse);

}
分享到:
评论

相关推荐

    java httpclient设置超时时间和代理的方法

    Java HTTPClient 设置超时时间和代理的方法 Java HTTPClient 是一个功能强大且灵活的 HTTP 客户端库,提供了许多实用的功能来处理 HTTP 请求。其中,设置超时时间和代理是两个非常重要的配置项,本文将详细介绍如何...

    HttpClient4.5.1手册

    - **多线程请求执行:** HttpClient支持并发执行多个请求,这需要有效的连接管理和同步机制。 **2.4 多线程请求执行:** 在高并发场景下,合理利用多线程可以显著提升性能。 **2.5 连接驱逐策略:** 为了防止连接...

    dotnet 6 精细控制 HttpClient 网络请求超时.rar

    1. **使用HttpClientFactory**:在大型应用中,推荐使用HttpClientFactory来管理HttpClient实例,这样可以更好地处理连接池和生命周期管理,避免资源泄漏。 2. **避免单例模式**:尽管HttpClient设计为可重用,但不...

    httpclient用法,发送get和post请求,设置header

    httpclient的用法,发送get请求和post请求,设置header

    httpclient4.3 设置代理

    javase http通讯技术 apache httpclient4.3 设置代理详解

    httpClient和URLConnection的区别

    而对于超时,可以通过设置连接超时和套接字超时来进行控制。在多线程环境中,推荐为整个应用程序创建一个HttpClient实例,以避免线程安全问题。 在网络连接判断方面,Android提供了检查网络连接是否可用的方法。这...

    httpclient.jar包下载

    例如,正确设置连接超时、读取超时以及连接池大小,可以避免因网络延迟导致的问题。 在实际开发中,我们可以通过Maven或Gradle等构建工具来管理和依赖httpclient.jar,确保依赖的版本一致性,并且可以方便地升级或...

    httpClient4.3.6包和实例

    5. **请求和响应的配置**:可以通过`RequestConfig`来设置请求的超时时间、重试策略、连接池大小等参数。 6. **认证和授权**:HttpClient支持多种身份验证机制,如Basic、Digest、NTLM等,通过`CredentialsProvider...

    HttpClientUtil工具类发送get和post请求,支持http和https,支持发送文件

    HttpClientUtil可能需要配置连接池的大小、超时时间等参数,以适应不同的应用场景。 综上所述,HttpClientUtil工具类在IT应用中扮演着关键角色,简化了HTTP和HTTPS请求的实现,特别是发送文件这样的复杂操作。通过...

    dotnet 6 使用 HttpClient 的超时机制.rar

    本教程将详细讲解如何在.NET 6中利用HttpClient设置超时机制,确保你的请求处理在预设时间内完成,避免程序因长时间等待响应而卡死。 HttpClient类提供了发送HTTP请求的能力,同时允许开发者配置请求的多个方面,...

    httpClient需要的jar包

    你可以自定义请求头,携带POST数据,或者设置超时等。 4. **实体处理**:HttpClient支持对请求和响应中的实体进行编码和解码,如表单数据、JSON、XML等。EntityUtils类提供了读取和解析响应实体内容的方法。 5. **...

    httpClienthttpClient

    10. **Timeouts**:可以设置连接超时、读取超时和写入超时,以防止程序因网络问题而阻塞。 在实际使用中,你通常会先创建一个HttpClient实例,然后创建HttpRequestBase对象,设置请求参数,再通过HttpClient发送...

    最新官方资源httpclient-4.1.3.jar和httpcore-4.1.4.jar

    在使用HttpClient时,开发者可以通过定制化配置来满足特定的网络通信需求,比如设置超时时间、选择合适的连接策略等。 HTTPCore-4.1.4.jar则是HttpClient的核心组件,它提供了低级别的HTTP传输机制,包括套接字管理...

    httpUtil httpclient 登陆携带cookie访问下一个连接

    可以使用`HttpClientBuilder`来定制各种设置,如超时时间、重试策略、连接池等。 3. **执行请求**:调用`HttpClient`的`execute`方法,传入`HttpPost`对象,得到`HttpResponse`。这将返回服务器的响应,包括状态码...

    httpclient

    可以通过设置连接超时、读写超时、最大连接数、连接复用策略等来优化HttpClient的性能。 10. **异步操作**: HttpClient也支持异步操作,通过`HttpAsyncClient`类,可以在回调函数中处理响应,适合于高并发场景。...

    httpclient4.5.5所有包

    - 使用 HttpClient 时,需注意连接管理和资源释放,避免内存泄漏和连接耗尽。 - 考虑到线程安全,通常推荐使用线程局部的 HttpClient 实例,或使用连接池管理器来管理连接。 - 对于高并发场景,应适当调整连接池...

    HttpClient4.1.2中英文文档

    - **性能优化**:学习如何通过调整连接池大小、超时设置等参数来优化HttpClient的性能。 总的来说,HttpClient 4.1.2提供了全面的HTTP通信能力,适用于各种Java应用,无论是简单的Web抓取,还是复杂的RESTful API...

    httpclient-4.5.3中文版文档,很实用

    在使用HttpClient时,开发者需要注意配置连接管理器、设置合适的超时、处理重定向和重试、以及选择合适的认证方式。同时,由于HttpClient的灵活性,正确地关闭和管理连接资源也非常重要,以避免资源泄露。 总之,...

    httpclient3.1 javadoc chm版

    2. 配置HttpClient,如设置连接超时、重试策略、Cookie策略等。 3. 创建HttpRequest或HttpMethod对象,设置请求参数。 4. 将HttpRequest或HttpMethod通过HttpClient执行,获取HttpResponse。 5. 处理HttpResponse,...

Global site tag (gtag.js) - Google Analytics