最近才开始接触这个工具包,官网上目前已经更新到HttpClient4.5.2了。google的时候看到HttpClient从4.0版本改了底层,因此使用时会出现一些方法不再适用的问题,这里记录出现的一些问题以及相应替代的方法。

1、 创建HttpClient时使用下面的语句,会出现org.apache.http.impl.client.DefaultHttpClient' is deprecated

1
HttpClient httpClient = new DefaultHttpClient();

可以使用如下语句代替:来源

1
HttpClient httpClient = HttpClientBuilder.create().build();

或者

1
2
3
4
// 创建HttpClientBuilder
HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();
// HttpClient
CloseableHttpClient httpClient = httpClientBuilder.build();

2、 设置代理,HttpClient4.5.2版本可以使用如下语句:

1
2
3
4
5
6
//创建代理
HttpHost proxy = new HttpHost("your proxy IP", port);
RequestConfig config = RequestConfig.custom().setProxy(proxy).build();

//设置HttpPost/HttpGet使用代理
httpost.setConfig(config);

3、get或post时,如果访问的网站是https协议的,可以用如下方式访问:信任所有证书,如果可以具体到每个证书,就更好了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
try {            SSLContext sslContext = new SSLContextBuilder().loadTrustMaterial(null, new TrustStrategy() {                //信任所有
                public boolean isTrusted(X509Certificate[] chain,
                                         String authType) throws CertificateException {                    return true;
                }
            }).build();
            SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslContext);
            return HttpClients.custom().setSSLSocketFactory(sslsf).build();
        } catch (KeyManagementException e) {            e.printStackTrace();
        } catch (NoSuchAlgorithmException e) {            e.printStackTrace();
        } catch (KeyStoreException e) {            e.printStackTrace();
        }
        return HttpClients.createDefault();
    }

HttpClient4.x使用中出现的几个问题及解决方法相关推荐

  1. ASP.NET AjaxPro的应用 .AjaxPro使用中“XXX未定义”的一种解决方法(转载的)

    ASP.NET AjaxPro的应用 1.首先下载AjaxPro组件.并将AjaxPro.dll引用到网站(或项目). 2.修改Web.config.在 <system.web> 元素中添 ...

  2. [转]ExtJs中使用中碰到的三个问题的解决方法

    这里的经验不是指对这种框架总体上面的一些介绍,只是记录了本月中使用ExtJs中遇到的3个问题的解决方法,这里还是要感谢Extjs论坛的 Animal和Condor,每次在我遇到拦路虎的时候,总能在他俩 ...

  3. 在image2lcd图片取模软件使用中遇到的小问题,和解决方法

    image2lcd可以把用户导入的图片编辑后转换为C语言数组.二进制文件或BMP等图片格式,编辑中可以修改图片的像素长宽大小,色彩位数等,在学习单片机过程中,需要在TFT彩屏或OLED彩屏中显示图片, ...

  4. iphone屏幕突然变暗_iPhone或iPad在使用中发热厉害吗?以下是原因和解决方法

    你的iPhone或iPad是工作很辛苦的设备,尽管它小到可以装进口袋或包里.但与台式电脑或笔记本电脑不同的是,它没有散热器或风扇来调节温度,保持凉爽.任何设备长期高负荷运行时都会产生热量. 但摸上去感 ...

  5. 怎么查看usb读取信息_电脑弹出USB设备时提示该设备正在使用中的解决方法

    转载的文章,原文: 电脑弹出USB设备时提示该设备正在使用中的解决方法-系统城​www.xitongcheng.com 电脑弹出USB设备时提示该设备正在使用,虽然在正常显示时并没有程序在使用,但是确 ...

  6. web报表工具FineReport使用中遇到的常见报错及解决办法(一)

    FineReport使用中遇到的常见报错及解决办法(一) 这里写点抛砖引玉,希望大家能把自己整理的问题及解决方法晾出来,Mark一下,利人利己. 出现问题先搜一下文档上有没有,再看看度娘有没有,再看看 ...

  7. 有没有软件能限制cpu的使用符合_电脑使用中突然黑屏是什么原因?电脑突然黑屏但是主机还运行的解决方法...

    电脑使用中突然黑屏是什么原因?电脑突然黑屏但是主机还运行的解决方法. 电脑在使用中,无论是上网还是不上网,突然之间黑屏了,屏幕显示"无信号输入",只好重新启动,而启动的时间很长,屏 ...

  8. 关于python的环境配置和编辑器Geany的使用中遇见的问题及解决方法

    Geany 使用中遇见的问题及解决方法 一,相关配置信息 1,我的相关信息 win10 - 64位 Geany 1.36版 python 3.8版 2,Geany,Python的安装,直接在浏览器搜索 ...

  9. 明基投影仪中心服务器联机失败,投影机使用中常见故障解决方法

    投影机使用中常见故障解决方法 问题一:投影机连接笔记本电脑, 无输出影像时怎么办? 笔记本电脑外接显示设备时,通常有四种显示输出控制. ① 笔记本液晶屏亮,外接显示设备亮 ②笔记本液晶屏亮,外接显示设 ...

  10. html5官网中遇到的问题,html5的input的required使用中遇到的问题及解决方法

    form提交时隐藏input发生的错误 问题描述 在form表单提交的时候,有些input标签被隐藏,表单验证过程中会出现An invalid form control with name=" ...

最新文章

  1. 用bind架设自己的智能DNS
  2. iOS微信支付集成 SDK1 7 5
  3. apollo local 模式_Apollo 源码解析 —— 客户端配置 API(一)之一览
  4. window 程序报错 自动重启_好程序员web前端教程之详解JavaScript严格模式
  5. 读书笔记之《程序员必读的职业规划书》
  6. 发送自定义IP包(测试中:第二版)
  7. 贝叶斯网络学习Python环境搭建(pgmpy)
  8. feign.RetryableException: Read timed out executing POST http://......
  9. 安装java虚拟机_JAVA虚拟机的安装以及JAVA的环境配置
  10. 【问题解决】seckill-秒杀项目 -- 服务端异常
  11. 浅谈微信公众平台运用的场景
  12. 3DTouch的简单使用
  13. 陌上红尘,可有摆渡人?
  14. GPS是如何定位你在哪的?
  15. 建设工程法规专科【4】
  16. 【深度学习】池化 (pooling)
  17. Python: 用xlrd读取Excel文件(*.xlsx) 实践才是检验真理的唯一标准!!!
  18. vuforia for unity 入门教程
  19. 项目管理 | 如何进行项目风险识别?
  20. Github开源项目详解--Mall(一)

热门文章

  1. 最小二乘法求解超定方程的原理
  2. 中小型企业网络IP地址规划案例-1
  3. zipf定律与相似性度量
  4. 四轴飞行器的设计与开发过程
  5. 玛咖新品牌 卡皇玛卡4月上市
  6. access中布局为阶梯怎么设计_基于Solidworks的阶梯轴类零件参数化设计研究
  7. oracle 查询入职年限,计算入职年限员工人数占总人数的百分比
  8. HTML5植物大战僵尸网页版游戏源码
  9. 数据库显示备份服务器失败,数据库备份
  10. IPC$经典入侵步骤和常用net命令