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