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 是一个功能强大且灵活的 HTTP 客户端库,提供了许多实用的功能来处理 HTTP 请求。其中,设置超时时间和代理是两个非常重要的配置项,本文将详细介绍如何...
- **多线程请求执行:** HttpClient支持并发执行多个请求,这需要有效的连接管理和同步机制。 **2.4 多线程请求执行:** 在高并发场景下,合理利用多线程可以显著提升性能。 **2.5 连接驱逐策略:** 为了防止连接...
1. **使用HttpClientFactory**:在大型应用中,推荐使用HttpClientFactory来管理HttpClient实例,这样可以更好地处理连接池和生命周期管理,避免资源泄漏。 2. **避免单例模式**:尽管HttpClient设计为可重用,但不...
httpclient的用法,发送get请求和post请求,设置header
javase http通讯技术 apache httpclient4.3 设置代理详解
而对于超时,可以通过设置连接超时和套接字超时来进行控制。在多线程环境中,推荐为整个应用程序创建一个HttpClient实例,以避免线程安全问题。 在网络连接判断方面,Android提供了检查网络连接是否可用的方法。这...
例如,正确设置连接超时、读取超时以及连接池大小,可以避免因网络延迟导致的问题。 在实际开发中,我们可以通过Maven或Gradle等构建工具来管理和依赖httpclient.jar,确保依赖的版本一致性,并且可以方便地升级或...
5. **请求和响应的配置**:可以通过`RequestConfig`来设置请求的超时时间、重试策略、连接池大小等参数。 6. **认证和授权**:HttpClient支持多种身份验证机制,如Basic、Digest、NTLM等,通过`CredentialsProvider...
HttpClientUtil可能需要配置连接池的大小、超时时间等参数,以适应不同的应用场景。 综上所述,HttpClientUtil工具类在IT应用中扮演着关键角色,简化了HTTP和HTTPS请求的实现,特别是发送文件这样的复杂操作。通过...
本教程将详细讲解如何在.NET 6中利用HttpClient设置超时机制,确保你的请求处理在预设时间内完成,避免程序因长时间等待响应而卡死。 HttpClient类提供了发送HTTP请求的能力,同时允许开发者配置请求的多个方面,...
你可以自定义请求头,携带POST数据,或者设置超时等。 4. **实体处理**:HttpClient支持对请求和响应中的实体进行编码和解码,如表单数据、JSON、XML等。EntityUtils类提供了读取和解析响应实体内容的方法。 5. **...
10. **Timeouts**:可以设置连接超时、读取超时和写入超时,以防止程序因网络问题而阻塞。 在实际使用中,你通常会先创建一个HttpClient实例,然后创建HttpRequestBase对象,设置请求参数,再通过HttpClient发送...
在使用HttpClient时,开发者可以通过定制化配置来满足特定的网络通信需求,比如设置超时时间、选择合适的连接策略等。 HTTPCore-4.1.4.jar则是HttpClient的核心组件,它提供了低级别的HTTP传输机制,包括套接字管理...
可以使用`HttpClientBuilder`来定制各种设置,如超时时间、重试策略、连接池等。 3. **执行请求**:调用`HttpClient`的`execute`方法,传入`HttpPost`对象,得到`HttpResponse`。这将返回服务器的响应,包括状态码...
可以通过设置连接超时、读写超时、最大连接数、连接复用策略等来优化HttpClient的性能。 10. **异步操作**: HttpClient也支持异步操作,通过`HttpAsyncClient`类,可以在回调函数中处理响应,适合于高并发场景。...
- 使用 HttpClient 时,需注意连接管理和资源释放,避免内存泄漏和连接耗尽。 - 考虑到线程安全,通常推荐使用线程局部的 HttpClient 实例,或使用连接池管理器来管理连接。 - 对于高并发场景,应适当调整连接池...
- **性能优化**:学习如何通过调整连接池大小、超时设置等参数来优化HttpClient的性能。 总的来说,HttpClient 4.1.2提供了全面的HTTP通信能力,适用于各种Java应用,无论是简单的Web抓取,还是复杂的RESTful API...
在使用HttpClient时,开发者需要注意配置连接管理器、设置合适的超时、处理重定向和重试、以及选择合适的认证方式。同时,由于HttpClient的灵活性,正确地关闭和管理连接资源也非常重要,以避免资源泄露。 总之,...
2. 配置HttpClient,如设置连接超时、重试策略、Cookie策略等。 3. 创建HttpRequest或HttpMethod对象,设置请求参数。 4. 将HttpRequest或HttpMethod通过HttpClient执行,获取HttpResponse。 5. 处理HttpResponse,...