認(rèn)證 如何使用HttpClient認(rèn)證機制?
如何使用HttpClient認(rèn)證機制?由于httpclient支持httpbasic身份驗證模式,因此使用httpclient通過httpbasic身份驗證的步驟相對簡單。 1. 向httpclien
如何使用HttpClient認(rèn)證機制?
由于httpclient支持httpbasic身份驗證模式,因此使用httpclient通過httpbasic身份驗證的步驟相對簡單。
1. 向httpclient的status對象添加用戶名/密碼對。請注意,setcredentials方法中的另一個參數(shù)是authscope對象。實際上,我們添加的每個用戶名/密碼對都與authscope對象相關(guān)聯(lián)。authscope對象確定此用戶名/密碼對的適用站點,示例中給出的用戶名/密碼對將僅適用于www.sample.com端口80上的資源。Httpclient在與其他站點交互時不會使用此用戶名/密碼對,這有效地防止機密數(shù)據(jù)傳輸?shù)讲槐匾恼军c。
2. 啟用httpclient提供的搶占式身份驗證功能。啟用此功能后,httpclient將主動向服務(wù)器發(fā)送基本身份驗證數(shù)據(jù),同時請求上一個請求的URI空間內(nèi)的資源,而不是等待服務(wù)器在提交身份驗證之前返回是否需要身份驗證的響應(yīng)。在大多數(shù)情況下,它可以減少請求-響應(yīng)傳遞的次數(shù),從而間接地提高服務(wù)器的響應(yīng)能力。值得注意的是,在這種情況下,必須在authscope對象中明確指定適用的站點,以避免將敏感數(shù)據(jù)泄漏到不相關(guān)的站點。
3. 創(chuàng)建一個getmethod對象,它將以get模式向受保護的資源發(fā)送HTTP請求。
4. setdoauthentication(true)語句將告訴httpclient將身份驗證請求發(fā)回服務(wù)器,然后自動將我們在步驟1中設(shè)置的用戶名/密碼對發(fā)送到服務(wù)器以完成身份驗證過程。
5. 執(zhí)行g(shù)et請求以獲取和處理受保護資源的內(nèi)容。