资源简介
HttpClient在当今Java应用中的位置越来越重要。从该项目的变迁过程我们不难发现,其已经从apache-commons众多的子项目中剥离,一跃成为如今的顶级项目,可见它的分量。然而随着项目的升级和架构的调整,很多以前常用的类和方法都已被打上了@Deprecated注解,作为一个有代码洁癖的程序猿,我们也有必要升级一下工具类,让代码更加整洁。
另外在项目中正好需要访问https协议的接口,而对应的服务器没有购买商业CA颁发的正式受信证书,只是做了个自签名(联想一下12306网站购票时提示的那个警告信息),默认情况下通过HttpClient访问会抛出异常。相关文章参阅:http://blog.csdn.net/chaijunkun/article/details/40145685
代码片段和文件信息
package net.csdn.blog.chaijunkun.util;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URISyntaxException;
import java.nio.charset.Charset;
import java.security.KeyManagementException;
import java.security.KeyStore;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.HashMap;
import java.util.linkedList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import javax.net.ssl.SSLContext;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.http.HttpException;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.config.ConnectionConfig;
import org.apache.http.config.Registry;
import org.apache.http.config.RegistryBuilder;
import org.apache.http.config.SocketConfig;
import org.apache.http.conn.socket.ConnectionSocketFactory;
import org.apache.http.conn.socket.layeredConnectionSocketFactory;
import org.apache.http.conn.socket.PlainConnectionSocketFactory;
import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
import org.apache.http.conn.ssl.SSLContexts;
import org.apache.http.conn.ssl.TrustStrategy;
import org.apache.http.cookie.Cookie;
import org.apache.http.cookie.CookieOrigin;
import org.apache.http.entity.mime.FormBodyPart;
import org.apache.http.entity.mime.HttpMultipartMode;
import org.apache.http.entity.mime.MultipartEntityBuilder;
import org.apache.http.impl.client.BasicCookieStore;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
import org.apache.http.impl.cookie.BasicClientCookie;
import org.apache.http.impl.cookie.BestMatchSpec;
import org.apache.http.message.BasicNameValuePair;
class AnyTrustStrategy implements TrustStrategy{
@Override
public boolean isTrusted(X509Certificate[] chain String authType) throws CertificateException {
return true;
}
}
public class HttpUtil {
private static final Log log= LogFactory.getLog(HttpUtil.class);
private static int bufferSize= 1024;
private static volatile HttpUtil instance;
private ConnectionConfig connConfig;
private SocketConfig socketConfig;
private ConnectionSocketFactory plainSF;
private KeyStore trustStore;
private SSLContext sslContext;
private layeredConnectionSocketFactory sslSF;
private Registry registry;
private PoolingHttpClientConnect
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1511 2014-10-16 18:49 pom.xm
目录 0 2014-10-16 16:52 src\
目录 0 2014-10-16 16:52 src\main\
目录 0 2014-10-16 16:52 src\main\java\
目录 0 2014-10-16 16:52 src\main\java\net\
目录 0 2014-10-16 16:52 src\main\java\net\csdn\
目录 0 2014-10-16 16:52 src\main\java\net\csdn\blog\
目录 0 2014-10-16 16:52 src\main\java\net\csdn\blog\chaijunkun\
目录 0 2014-10-16 17:13 src\main\java\net\csdn\blog\chaijunkun\util\
文件 13461 2014-10-16 17:12 src\main\java\net\csdn\blog\chaijunkun\util\HttpUtil.java
目录 0 2014-10-16 16:52 src\test\
目录 0 2014-10-16 16:52 src\test\java\
目录 0 2014-10-16 16:52 src\test\java\net\
目录 0 2014-10-16 16:52 src\test\java\net\csdn\
目录 0 2014-10-16 16:52 src\test\java\net\csdn\blog\
目录 0 2014-10-16 16:52 src\test\java\net\csdn\blog\chaijunkun\
目录 0 2014-10-16 16:52 src\test\java\net\csdn\blog\chaijunkun\util\
文件 592 2014-10-16 17:15 src\test\java\net\csdn\blog\chaijunkun\util\AppTest.java
相关资源
- IDEA算法(java)
- 有关于计算机JAVA经典的外文翻译
- java面试笔试题 选择题 问答题 带答案
- java导出txt文件并以&分隔符每个字段数
- JAVA基础编程练习题50题及经典算法9
- commons-fileupload.jar和commons-io.jar
- Java电话计费卡程序源代码
- java连接数据库实现银行管理系统
- 计算机专业外文翻译(JAVA)
- Java实习报告
- jxl.jar包最新jar包亲测可用
- 阿里巴巴Java开发手册(正式版)326
- 银行家算法java实现带UI界面各个类文
- JavaService-2.0.10.zip,包含中文使用说明
-
sc
ript-api.jarphp-servlet.jarphp-sc ript. - java商场VIP消费情况查询系统
- 基于JAVA的医院门诊管理系统
- mvc框架+实现留言板JSP+Servletjavabean.r
- 密码管理器(Java)GUI
- java接口使用
- dom4j 官方绿色完整jar包
- GB28181国标28181的JAVA注册实现代码
- java计算器的实现--ppt课件
- B+树的创建java源码
- java文件上传案例
- jBPM4教程私塾在线视频配套学习资料
- java 简单算式计算器
- 双色球设计
- JAVA实现的通讯录 能实现联系人的查找
- 咕泡2018最新Java架构师培训二.txt
评论
共有 条评论