private RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(25000).setConnectTimeout(25000)
.setConnectionRequestTimeout(25000).build();
private final String charSet = "UTF-8";
public String postString(String url, Map<String, String> param) throws ClientProtocolException, IOException {
CloseableHttpClient httpclient = HttpClients.createDefault();
try {
RequestBuilder rb = RequestBuilder.post().setUri(new URI(url));
// 请求参数
if (null != param) {
Iterator<Entry<String, String>> item = param.entrySet().iterator();
List<NameValuePair> list = new ArrayList<NameValuePair>();
while (item.hasNext()) {
Entry<String, String> it = item.next();
// 编码格式utf-8 list.add(new BasicNameValuePair(it.getKey(),it.getValue()));
//rb = rb.addParameter(it.getKey(), it.getValue());
}
}
//utf-8 编码
rb.setEntity(new UrlEncodedFormEntity(list, "UTF-8"));
rb.setConfig(requestConfig);
HttpUriRequest login = rb.build();
CloseableHttpResponse response = httpclient.execute(login);
if (HttpStatus.SC_OK == response.getStatusLine().getStatusCode()) {
HttpEntity entitys = response.getEntity();
if (entitys != null) {
return EntityUtils.toString(entitys, charSet);
}
}
// 关闭
if (null != response) {
response.close();
}
if (null != httpclient) {
httpclient.close();
}
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
//测试方法
public class PayBest {
public static void orderCommon(){
HttpFilePost post = new HttpFilePost();
String url ="http://localhost:8080/yun/api/best.do";
Map<String,String> param = new HashMap<String,String>();
param.put("userId", "1111110978");
param.put("orderList", "17022800915900");
param.put("bpwd", "111222");
param.put("method", "payCommon");
try {
String result = post.postString(url, param);
System.out.println(result);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
orderCommon();
}
}
相关推荐
《HttpClient 4.5:构建高效网络请求的利器》 HttpClient是Apache软件基金会下的一个开源项目,主要用于提供高效的、最新的、功能丰富的HTTP协议客户端编程工具包。HttpClient 4.5作为其重要的版本,针对Java开发者...
它不仅支持基本的GET和POST请求,还能处理PUT、DELETE等HTTP方法,甚至包括HEAD、OPTIONS和TRACE。此外,HttpClient 4.5还支持HTTP/1.1和HTTP/2协议,确保了与现代Web服务器的兼容性。 HttpClient 4.5包含以下几个...
在使用HttpClient 4.5时,可以通过"使用说明.txt"文件获取详细的配置和使用指南,了解如何导入httpclient-4.5所需jar包,以及如何创建和配置HttpClient实例,进行GET、POST等请求,处理响应,管理连接和会话,以及...
HTTPClient是一个广泛使用的Java库,用于执行HTTP请求。本篇文章将详细讲解如何在HTTPClient 4.5版本中绕过SSL(Secure Sockets Layer)认证,实现对HTTPS网站的访问。 首先,了解SSL/TLS(Transport Layer ...
本文将深入探讨HttpClient 4.5的使用方法、关键概念及其在POST请求中的应用。 一、HttpClient 4.5概述 HttpClient 4.5的核心设计理念是模块化和可扩展性,它允许开发者根据实际需求选择不同的组件进行组合,从而...
3. **异步操作**:HttpClient 4.5添加了对异步请求的支持,允许开发者在发送请求后立即进行其他操作,而不用等待响应。这可以通过`FutureCallback`接口实现,提高了并发性能。 4. **身份验证和安全**:HttpClient...
- **定义**:保持连接在一定时间内不关闭,以便后续请求使用。 - **优势**:提高性能,减少建立新连接的开销。 ##### 2.2 HTTP连接路由 **2.2.1 路由计算** - **定义**:确定到达目标主机的最佳路径。 - **考虑...
2. **构建HttpGet/HttpPost请求**:根据需求创建`HttpGet`或`HttpPost`对象,并设置URL、请求头等信息。 3. **执行请求**:使用HttpClient的`execute`方法发送请求,获取`HttpResponse`对象。 4. **处理响应**:检查...
《HttpClient 4.5:构建高效网络通信的关键库》 ...在实际开发中,HttpClient 4.5不仅可以用于简单的GET和POST请求,还可以处理复杂的HTTP事务,如重定向、分块传输、代理设置等,是Java开发者进行网络编程的得力助手。
本文将深入探讨 HttpClient 4.5 的源码,以帮助开发者更好地理解和使用这一工具。 一、HttpClient 基本架构 HttpClient 4.5 的核心组件包括: 1. `HttpClient`:客户端的核心,负责管理请求执行策略、连接池和重试...
这对于发送复杂的POST请求,尤其是涉及到上传文件的场景非常有用。 4. **httpasyncclient-4.1.4.jar**:HTTPAsyncClient是异步HTTP客户端,它允许多个并发请求并行处理,提高了性能,尤其在需要大量并发请求的场景...
不会的可以在评论区留言哈,这是我自己做项目用到的。所以绝对可用!同时共享出来给到大家
6. **性能优化**:HttpClient 4.5通过缓存策略、请求优先级和智能重试机制,提高了请求的执行效率和稳定性。 7. **错误处理**:HttpClient 4.5的异常处理更加完善,可以更好地捕获和处理各种网络异常情况,提供更好...
HttpClient 4.5还引入了异步模型,通过`HttpAsyncClient`可以在后台线程中执行请求,提高并发性能。同时,它还支持回调函数,使得处理结果变得更加灵活。 8. **最佳实践** 使用HttpClient时,应注意关闭资源(如`...
在标题“httpClient4.5所需工具包”中,"HttpClient4.5"指的是这个项目的第4.5版本,这是一个重要的升级,包含了许多改进和新特性,以提高性能和稳定性。 HttpClient 4.5主要知识点包括: 1. **连接管理**:...
以下是一个简单的HttpClient 4.5使用示例,演示如何发送一个GET请求并获取响应: ```java import org.apache.http.HttpEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache....
2. **httpclient**:这是HttpClient的核心模块,实现了基本的HTTP协议功能,如GET、POST、PUT等请求方法,以及处理响应、重定向、cookies和连接管理。 3. **httpclient-cache**:这个模块提供了HTTP缓存支持,遵循...
在本篇中,我们将深入探讨`httpClient-4.5.jar`及其源码,了解其核心概念、使用方法以及在实际开发中的应用。 首先,`httpclient-4.5.jar`是HttpClient库的可执行版本,包含了编译后的类,可以直接在Java项目中引用...
这个压缩包“httpclient4.5所需所有jar包”包含了Apache HttpClient 4.5版本所需的全部依赖库,方便开发者在项目中集成和使用。Apache HttpClient 4.5是一个稳定且功能丰富的版本,提供了许多优化和改进,适用于各种...