Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,11 @@ hs_err_pid*
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.zip

Local*Test.java

# Logs and databases #
######################
Expand All @@ -61,9 +62,10 @@ hs_err_pid*
######################
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
Icon?
ehthumbs.db
Thumbs.db


28 changes: 18 additions & 10 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,21 @@
<artifactId>httpclientutil</artifactId>
<version>1.0.5-SNAPSHOT</version>
<name>${project.artifactId}</name>
<description>基于HttpClient-4.4.1封装的工具类。支持插件式配置Header、插件式配置httpclient对象,这样就可以方便地自定义header信息、配置ssl、配置proxy、Cookie等</description>
<description>基于HttpClient-4.5.6封装的工具类。支持插件式配置Header、插件式配置httpclient对象,这样就可以方便地自定义header信息、配置ssl、配置proxy、Cookie等</description>

<properties>
<!-- 文件拷贝时的编码 -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<!-- 编译时的编码 -->
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
<httpclient.version>4.4.1</httpclient.version>
<httpclient.version>4.5.6</httpclient.version>

<maven-javadoc-plugin.version>2.10.3</maven-javadoc-plugin.version>
<maven-source-plugin.version>2.4</maven-source-plugin.version>
<maven-gpg-plugin.version>1.6</maven-gpg-plugin.version>
<nexus-staging-maven-plugin.version>1.6.8</nexus-staging-maven-plugin.version>
<logback.version>1.2.3</logback.version>
</properties>

<dependencies>
Expand All @@ -44,16 +45,21 @@
<artifactId>httpasyncclient</artifactId>
<version>4.1</version>
</dependency>
<!-- <dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpasyncclient</artifactId>
<version>4.1</version>
</dependency> -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${logback.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>${logback.version}</version>
</dependency>
<!--<dependency>-->
<!--<groupId>log4j</groupId>-->
<!--<artifactId>log4j</artifactId>-->
<!--<version>1.2.17</version>-->
<!--</dependency>-->
</dependencies>

<!-- 发布远程仓库配置 -->
Expand All @@ -67,6 +73,8 @@
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
</repository>
</distributionManagement>


<build>
<plugins>
<plugin>
Expand Down
43 changes: 16 additions & 27 deletions src/main/java/com/arronlong/httpclientutil/HttpClientUtil.java
Original file line number Diff line number Diff line change
@@ -1,36 +1,25 @@
package com.arronlong.httpclientutil;

import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import com.arronlong.httpclientutil.builder.HCB;
import com.arronlong.httpclientutil.common.HttpConfig;
import com.arronlong.httpclientutil.common.HttpMethods;
import com.arronlong.httpclientutil.common.HttpResult;
import com.arronlong.httpclientutil.common.Utils;
import com.arronlong.httpclientutil.exception.HttpProcessException;
import org.apache.http.Header;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpDelete;
import org.apache.http.client.methods.HttpEntityEnclosingRequestBase;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpHead;
import org.apache.http.client.methods.HttpOptions;
import org.apache.http.client.methods.HttpPatch;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.methods.HttpPut;
import org.apache.http.client.methods.HttpRequestBase;
import org.apache.http.client.methods.HttpTrace;
import org.apache.http.client.methods.*;
import org.apache.http.protocol.HttpContext;
import org.apache.http.util.EntityUtils;

import com.arronlong.httpclientutil.builder.HCB;
import com.arronlong.httpclientutil.common.HttpConfig;
import com.arronlong.httpclientutil.common.HttpMethods;
import com.arronlong.httpclientutil.common.HttpResult;
import com.arronlong.httpclientutil.common.Utils;
import com.arronlong.httpclientutil.exception.HttpProcessException;
import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
* 使用HttpClient模拟发送(http/https)请求
Expand Down Expand Up @@ -374,7 +363,7 @@ public static int status(HttpConfig config) throws HttpProcessException {
* @throws HttpProcessException http处理异常
*/
public static String send(HttpConfig config) throws HttpProcessException {
return fmt2String(execute(config), config.outenc());
return fmt2String(execute(config), config.outputEncoding());
}

/**
Expand All @@ -390,7 +379,7 @@ public static HttpResult sendAndGetResp(HttpConfig config) throws HttpProcessExc
HttpResponse resp = execute(config);

HttpResult result = new HttpResult(resp);
result.setResult(fmt2String(resp, config.outenc()));
result.setResult(fmt2String(resp, config.outputEncoding()));
result.setReqHeaders(reqHeaders);

return result;
Expand Down Expand Up @@ -424,11 +413,11 @@ private static HttpResponse execute(HttpConfig config) throws HttpProcessExcepti
if(request.getClass()==HttpGet.class) {
//检测url中是否存在参数
//注:只有get请求,才自动截取url中的参数,post等其他方式,不再截取
config.url(Utils.checkHasParas(config.url(), nvps, config.inenc()));
config.url(Utils.checkHasParas(config.url(), nvps, config.inputEncoding()));
}

//装填参数
HttpEntity entity = Utils.map2HttpEntity(nvps, config.map(), config.inenc());
HttpEntity entity = Utils.map2HttpEntity(nvps, config.map(), config.inputEncoding());

//设置参数到请求对象中
((HttpEntityEnclosingRequestBase)request).setEntity(entity);
Expand Down
Loading