1. 程式人生 > >HttpClient4.x使用中出現的幾個問題及解決方法

HttpClient4.x使用中出現的幾個問題及解決方法

最近才開始接觸這個工具包,官網上目前已經更新到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(); }

相關推薦

VirtualBox虛擬機器安裝Linux redhat 5.4 64位版本的過程出現的問題解決方法

問題一:     在使用VirtualBox虛擬機器安裝Linux redhat 5.4 64位版本的過程中,彈出   “VT-x/AMD-V 硬體加速器已被啟動,但當前處於無效狀態。您虛擬電腦內的作業系統將無法檢測到64位的CPU,因此也將無法啟動。”&n

電腦共享設定出現的問題解決方法

關於“網路上的芳鄰”裡的主機無法開啟的解決方法     當你開啟“網路上的芳鄰”到“檢視工作組計算機”再到訪問“某一主機”失敗而出現錯誤提示框時,只要你對照你的錯誤提示框,就可能在下文中找到解決問題的辦法。 1.錯誤提示框為:網路不存在或尚未啟動。

CXF在Spring2.5出現錯誤,解決方法

通過摸索發現在Spring ROOT配置裡不要啟用基於標註的配置,而在Spring MVC的子上下文配置中啟用<context:annotation-config></context:annotation-config>,這樣可以達到標註Bean可用,而不影響 cxf的啟動。當然採用該

arm板 sqlite3移植出現的錯誤解決方法:缺少libreadline.so.5和libncurses.so.5

sqlit3.7.3移植到am335X板子上。按網路上的步驟來移植之後,下面就講一講關於出現的問題。 移植完之後執行 sqlite3   報錯:error while loading shared libraries :lireadline.so.5 can not ope

上周研發出現的問題解決辦法

temp for 打包 mvn clean chan 人的 找到 ring 沒有 1、用RestTemplate.postForObject方法調用別人提供的POST接口的時候,無法調用。 經過仔細檢查,發現是由於我傳給別人的json格式調用參數中一個成員的數據類型和要求的

使用python出現的錯誤解決辦法

python【問題1】在編譯安裝完Python後,不能正常使用yum,使用yum出現以下錯誤[[email protected]/* */ bin]# yum File "/usr/bin/yum", line 30 except KeyboardInterrupt, e:

Prometheus配置過程出現的bug解決方案

一、簡介 Node exporter,Promenade和Alertmanager在安裝配置後,在除錯Prometheus執行中出現了不少bug,針對這些bug進行了解決。本部落格主要蒐集總結這些bug和解決方案,進行記錄。 Prometheus執行命令參考如下: docker ru

使用 docker compose 開發出現的問題解決

主要Error:postgres: address already in use ~$ docker-compose up Starting postgres_1 ... Starting postgres_1 ... errorERROR: for po

基於SPM的腦影象處理軟體REST使用過程出現的問題解決方案

報錯 Eror using rest_progress(line 29) Input arguments of type matlab. ui. Figure not valid. 解決辦法: 在MATLAB中刪除路徑,並重新set path 把REST的路徑放

標籤控制元件顯示對話框出現的問題解決方法

問題描述: 1.整體對話框出現時,理應出現在標籤控制元件當中的對話方塊飛出去了,沒有在標籤控制元件當中; 2.標籤控制元件切換的時候有問題,並不是所有的標籤選項都可以切換到。 解決方法: 1.飛出去的解決方法: 過程:在查詢標籤控制元件所在的螢幕座標系和客戶區座標

VMware Workstation的使用過程出現的錯誤解決方案

一: VMware Workstation cannot connect to thevirtual machine. Make sure you have rights to run the program, access alldirectories the pro

win7系統安裝oracle11g過程出現的問題解決方案

問題一:安裝到100%時報錯:提示[INS-20802] Oracle Net Configuration Assistant 失敗解決方案:1、點選重試,成功,則可以繼續安裝2、若不能成功,跳過繼續安裝,安裝完成後執行netca重新配置監聽器,然後嘗試是否能連結資料庫,若還

ORMLite使用出現的問題解決辦法

專案開發中,用到了ORMLite進行資料庫操作,其中有三個物件是一對多的關係,在使用過程中出現了一個奇怪的問題。 假設:三個類Company、Person、Car, Company對應多個Person,Person對應多個Car。 1、出現的問題如下:

kubernetes使用過程出現的異常解決措施

異常:authentication.k8s.io:0xc820374f50] is already registeredkubectl throwing group is already registered error原因:kubectl版本與Kubernetes版本不一致

linux的括號條件判斷式易出現的問題解決方法

在linux中,[ ]可以作為條件判斷式,結合if [ ];then.....fi使用。 在使用[]時,要注意,其中的每一部分都要用空格分開,中括號的前後都要有空格,if後面,then前面需要加空格! 以下面的程式為例:   1 #!/bin/bash   2 #該程式

ubuntupip安裝和升級出現的問題解決方法

pip安裝 bin 出現 trace eba call __name__ sys back 一、pip問題:Traceback (most recent call last): File "/usr/bin/pip", line 9, in 解決方法:將 /usr/bin

Web開發常見的漏洞解決方法

ssi select erro catch 們的 input cookie sha too 平時工作,多數是開發Web項目,由於一般是開發內部使用的業務系統,所以對於安全性一般不是看的很重,基本上由於是內網系統,一般也很少會受到攻擊,但有時候一些系統平臺,需要外網也要使用,

java學習過程遇到的坑解決方法

param bsp exception log 導入 學習 query data zha 1、 Table ‘my_data_base.gjp_zhangwu‘ doesn‘t exist Query: select * from gjp_zhangwu Parameter

[填坑]編譯caffe出現的問題解決方法

編譯caffe的過程真的是鍊金術,佛系的我在看到100%時還是忍不住流下了小小的眼淚,在此,我想獻上我的綿薄之力,願廣大胖友們可以在編譯路上少受點折磨,加油,我們不能死在搭環境上,我們要看到跑程式的希望 問題一:relocation R_X86_64_32S against `.roda

Solr12-SolrCloud部署的常見問題解決方法

目錄 1 ZooKeeper管理配置檔案的另一種方法 2 Solr服務不能訪問 3 部分或全部節點處於”Recovering”或”Gone”狀態 4 SolrCloud模式下, 啟動Tomcat服務耗時太久 5 其他問題(尚未驗證, 請存疑) 參考資料 1 ZooKeeper