" />
這是HttpClient發(fā)送http請求需要的jar包下載,最近這幾周,一直在忙同一個項目,剛開始是了解需求,需求有一定了解之后,就開始調(diào)第三方的接口。由于第三方給提供的文檔很模糊,在調(diào)接口的時候,出了很多問題,一直在溝通協(xié)調(diào),具體的無奈就不說了,由于接口的訪問協(xié)議是通過 HTTP 和 HTTPS 通訊的,因此封裝了一個簡單的請求工具類,由于時間緊迫,并沒有額外的時間對工具類進(jìn)行優(yōu)化和擴(kuò)展,如果后續(xù)空出時間的話,我會對該工具類繼續(xù)進(jìn)行優(yōu)化和擴(kuò)展的。
HttpClient 不是一個瀏覽器。它是一個客戶端的 HTTP 通信實現(xiàn)庫。HttpClient的目標(biāo)是發(fā) 送和接收HTTP 報文。HttpClient不會去緩存內(nèi)容,執(zhí)行 嵌入在 HTML 頁面中的javascript 代碼,猜測內(nèi)容類型,重新格式化請求/重定向URI,或者其它和 HTTP 運輸無關(guān)的功能。
HttpClient jar4.5包是目前構(gòu)建http協(xié)議的重要組成部分,當(dāng)用戶在使用HttpClient軟件創(chuàng)建協(xié)議項目內(nèi)容的時候,就需要用到HttpClient jar程序,讓用戶在創(chuàng)建的過程中更加穩(wěn)定,程序的性能更加靈活,這款軟件主要的目的就是幫助程序師在使用HttpClient軟件的時候可以得到豐富的創(chuàng)建數(shù)據(jù)內(nèi)容,在認(rèn)證方案、字符編碼、重定向處理、性能優(yōu)化、偏好架構(gòu)等方便得到最舒適的開發(fā)環(huán)境,從而提高開發(fā)的速度,加快http協(xié)議的穩(wěn)定性,需要的朋友可以下載試試!
服務(wù)器驗證
HttpClient幾乎透明地處理與服務(wù)器的身份驗證,開發(fā)人員必須做的唯一事情實際上是提供登錄憑據(jù)。這些憑據(jù)存儲在HttpState實例中,可以使用setCredentials(AuthScope authscope, Credentials cred)和getCredentials(AuthScope authscope) 方法設(shè)置或檢索。
可以使用setDoAuthentication(boolean doAuthentication) HttpMethod類中的方法禁用HttpClient中內(nèi)置的自動授權(quán)。更改僅影響該方法實例。
搶占認(rèn)證
可以在HttpClient中啟用搶占認(rèn)證。在這種模式下,HttpClient將在某些情況下甚至在服務(wù)器給出未授權(quán)響應(yīng)之前發(fā)送基本認(rèn)證響應(yīng),從而減少進(jìn)行連接的開銷。要啟用此功能,請使用以下命令:
client.getParams()。setAuthenticationPreemptive(true);
搶占式身份驗證模式還需要為要嘗試搶占式身份驗證的目標(biāo)或代理主機(jī)設(shè)置默認(rèn)憑據(jù)。未能提供默認(rèn)憑據(jù)將導(dǎo)致?lián)屨际缴矸蒡炞C模式無效。
憑據(jù)defaultcreds = new UsernamePasswordCredentials(“username”,“password”);
client.getState()。setCredentials(new AuthScope(“myhost”,80,AuthScope.ANY_REALM),defaultcreds);
HttpClient中的搶占式身份驗證符合rfc2617:
客戶端應(yīng)該假定在請求URI的路徑字段中的最后符號元素的深度或深度以上的所有路徑也在由當(dāng)前詢問的基本領(lǐng)域值指定的保護(hù)空間內(nèi)。客戶端可以預(yù)先發(fā)送相應(yīng)的授權(quán)報頭,其中請求該空間中的資源,而不從服務(wù)器接收另一詢問。類似地,當(dāng)客戶端向代理發(fā)送請求時,其可以在代理授權(quán)報頭字段中重用用戶ID和密碼,而不從代理服務(wù)器接收另一詢問。
服務(wù)器認(rèn)證的安全方面
在開發(fā)可能需要與不受信任的網(wǎng)站或Web應(yīng)用程序通信的應(yīng)用程序時,請謹(jǐn)慎使用默認(rèn)憑據(jù)。當(dāng)激活搶占認(rèn)證或未明確給定特定認(rèn)證域的憑證時,HttpClient將使用默認(rèn)憑據(jù)嘗試與目標(biāo)站點進(jìn)行身份驗證。如果要避免將敏感憑據(jù)發(fā)送到不受信任的站點,請盡可能縮小憑證范圍:始終指定主機(jī)和已知的憑據(jù)。
在生產(chǎn)應(yīng)用程序中不建議使用AuthScope.ANY身份驗證范圍(null主機(jī)和/或域的值)設(shè)置憑據(jù)。這樣做將導(dǎo)致為所有認(rèn)證嘗試(在搶占認(rèn)證的情況下的所有請求)發(fā)送憑證。使用此設(shè)置應(yīng)限于僅調(diào)試。