游客发表

HttpClient jar45包 免費版

发帖时间:2026-09-03 16:05:34

  HttpClient jar4.5包是 免目前構建http協議的重要組成部分 ,當用戶在使用HttpClient軟件創建協議項目內容的费版時候,就需要用到HttpClient jar程序 , 免讓用戶在創建的费版過程中更加穩定 ,程序的 免性能更加靈活  ,這款軟件主要的费版香肠派对7.08辅助目的就是扶植程序師在使用HttpClient軟件的時候可以得到豐碩的創建數據內容,在認證計劃、 免字符編碼 、费版重定向籌備、 免性能優化、费版偏好架構等方便得到最舒適的 免開發環境,從而晉升開發的费版速度,加快http協議的 免穩定性  ,需要的费版摯友可以下載試試!

軟件功能

  服務器驗證

  HttpClient幾乎透明地籌備與服務器的 免身份驗證 ,開發人員必須做的唯一事情實際上是提供登錄憑據 。這些憑據存儲在HttpState實例中,可以使用setCredentials(AuthScope authscope, Credentials cred)和getCredentials(AuthScope authscope) 計劃設置或檢索。

  可以使用setDoAuthentication(boolean doAuthentication) HttpMethod類中的計劃禁用HttpClient中內置的自動授權 。更改僅影響該計劃實例  。香肠派对脚本辅助

  搶占認證

  可以在HttpClient中啟用搶占認證 。在這種模式下  ,HttpClient將在某些情況下甚至在服務器給出未授權感謝之前發送基本認證感謝 ,從而裁減鋪開接合的開銷 。要啟用此功能,請使用以下命令:

  client.getParams()。setAuthenticationPreemptive(true);

  搶占式身份驗證模式還需要為要嚐試搶占式身份驗證的目標或代理主機設置默認憑據。未能提供默認憑據將導致搶占式身份驗證模式無效 。

  憑據defaultcreds = new UsernamePasswordCredentials(“username”,“password”);

  client.getState() 。setCredentials(new AuthScope(“myhost”,80 ,AuthScope.ANY_REALM),defaultcreds);

  HttpClient中的搶占式身份驗證符合rfc2617:

  客戶端應該假定在請求URI的路徑字段中的最後符號元素的深度或深度以上的所有路徑也在由當前詢問的基本領域值指定的駐防空間內 。客戶端可以預先發送相應的授權報頭 ,其中請求該空間中的資源  ,而不從服務器接收另一詢問。類似地,當客戶端向代理發送請求時 ,香肠派对兔费辅助其可以在代理授權報頭字段中重用用戶ID和密碼 ,而不從代理服務器接收另一詢問  。

  服務器認證的安全方麵

  在開發可能需要與不受信任的網站或Web應用程序通信的應用程序時 ,請謹慎使用默認憑據。當激活搶占認證或未明確給定特定認證域的憑證時 ,HttpClient將使用默認憑據嚐試與目標站點鋪開身份驗證。如果要避免將敏感憑據發送到不受信任的站點,請盡可能縮減規模憑證範圍 :始終指定主機和已知的憑據。

  在裸露應用程序中不建議使用AuthScope.ANY身份驗證範圍(null主機和/或域的值)設置憑據 。這樣做將導致為所有認證嚐試(在搶占認證的情況下的所有請求)發送憑證。使用此設置應限於僅調試 。

  //要避免,除非在調試模式下

  憑據defaultcreds = new UsernamePasswordCredentials(“username” ,“password”);

  client.getState()。setCredentials(AuthScope.ANY ,defaultcreds);

  代理驗證

  HttpClient中的代理身份驗證與服務器身份驗證幾乎相同 ,唯一的區別在於每個身份的憑據是獨立存儲的。因此,對於代理身份驗證 ,香肠派对辅助器大全您必須使用 setProxyCredentials(AuthScope authscope, Credentials cred)和 getProxyCredentials(AuthScope authscope) 。

  認證計劃

  HttpClient擁穿著以下認證計劃。

  基本

  基本認證是HTTP的原始和最兼容的認證計劃。不幸的是,它也是最不安全的,因為它將未加密的用戶名和密碼發送到服務器。基本身份驗證需要UsernamePasswordCredentials實例(NTCredentials擴展)可用於服務器指定的特定領域或默認憑據。

  消化

  Digest身份驗證在HTTP 1.1協議中增補 ,雖然沒有像Basic身份驗證那麽廣泛擁穿著,但是它提供了大量的擁穿著 。摘要認證比基本認證明顯更安全,因為它從不在網絡上傳輸實際密碼 ,而是使用它來加密從服務器發送的“nonce”值。

  摘要式身份驗證需要UsernamePasswordCredentials實例(NTCredentials擴展)可用於服務器指定的特定領域或默認憑據 。

軟件特色

  HTTP頭

  HTTP請求或感謝的標頭必須為US-ASCII格式 。不能在請求或感謝的標頭中使用非US-ASCII字符。一般來會談,這不是一個尷尬 ,因為HTTP頭設計用於實現數據傳輸 ,香肠派对电脑辅助而不是實際傳輸數據本身 。

  但是一個例外是cookie  。因為cookie被轉換為HTTP頭,所以它們被限製在US-ASCII字符集。有關詳細信息 ,請參閱Cookie指南 。

  請求/感謝體

  請求或感謝正文可以是任何編碼,但默認情況下是 ISO-8859-1。編碼可以在 Content-Type頭中指定,例如:

  Content-Type:text / html; charset = UTF-8

  在這種情況下,應用程序應仔細使用UTF-8編碼  ,當將主體轉換為字符串或一些字符可能已侵吞 。您可以使用addRequestHeader每個計劃中的計劃設置請求的內容類型標頭,並使用該 計劃檢索感謝正文的編碼getResponseCharSet  。

  如果已知感謝是字符串,則可以使用getResponseBodyAsString將自動使用Content-Type頭或 ISO-8859-1中指定的編碼的 計劃(如果未指定字符集) 。

  請注意 ,一些文檔類型(如HTML和XML)允許作家指定文件的內容類型。在這種情況下,您應參閱相關標準,了解如何撤銷所報告的字符集中的任何衝突。

使用計劃

  java.io.IOException

  HttpClient中的通用傳輸異常由標準Java java.io.IOException類或其子類(如java.net.SocketException和java.net.InterruptedIOException)表示 。

  除了標準輸入/輸出異常類HttpClient定義幾個自定義傳輸異常 ,傳達HttpClient特定的信息。

  在某些情況下 ,通常在負載較重時,Web服務器可能能夠接收請求  ,但無法籌備它們 。缺乏足夠的資源 ,如籌備線程是一個很好的例子。這可能導致服務器刪除到客戶端的接合 ,而不給出任何感謝 。HttpClient在遇到這種情況時會拋出NoHttpResponseException 。在大多數情況下,可以安全地重試使用NoHttpResponseException出局的計劃 。

  此異常表示HttpClient無法在給定時間段內與目標服務器或代理服務器建立接合 。

  此異常僅在使用多線程接合管理器時裸露  。該異常表示接合管理器未能在給定時間段內從接合池得到空閑接合 。

  協議異常通常表示由客戶端和服務器(web服務器或代理服務器)在解釋HTTP規範時不匹配引起的邏輯錯誤 。通常協議異常無法恢複 ,無需對客戶端請求或服務器鋪開調整 。HTTP規範的一些方麵允許不同的,有時衝突的解釋。HttpClient可以配置為擁穿著不同程度的HTTP規範遵從性,從非常寬鬆到非常嚴格。

  HttpException表示HttpClient中的抽象邏輯錯誤 。通常這種異常不能從中自動恢複 。

  ProtocolException發出違反HTTP規範的信號。需要注意的是 ,HTTP代理和HTTP服務器可以具有不同級別的HTTP規範兼容性 。通過將HttpClient配置為對非致命協議違例更寬鬆  ,可以從一些HTTP協議異常中恢複。

  內部

  MalformedChallengeException表示在給定的認證上下文中認證質詢在某種程度上是無效的或非法的。

  AuthenticationException表示認證過程中的出局 。通常,當執行HTTP計劃時 ,內部籌備認證異常 ,並且不會傳播到調用者 。

  當HttpClient無法感謝服務器發送的任何身份驗證挑戰時 ,拋出AuthenticationException。

  CredentialsNotAvailableException表示感謝身份驗證質詢所需的憑據不可用。

相關介紹

  HTTP傳輸安全

  重要的是要理解HTTP協議不是很適合所有類型的應用程序。HTTP是一種簡易的請求/感謝導向協議,最初設計為擁穿著靜態或動態裸露的內容檢索。它從來沒有打算擁穿著事務操作 。例如 ,如果HTTP服務器大捷地接收和籌備請求,裸露感謝並將狀態代碼發送回客戶端,則HTTP服務器將思索其履行的合同部分 。如果客戶端由於讀取超時,請求取消或係統崩潰而無法完全接收感謝 ,則服務器不會嚐試回滾事務  。如果客戶端決定重試相同的請求 ,則服務器將不可避免地落成多次執行相同的事務。在某些情況下,這可能導致應用程序數據侵吞或應用程序狀態不一致 。

  盡管HTTP從未被設計為擁穿著事務籌備 ,但是如果滿足某些條件 ,它仍然可以用作關鍵任務應用的傳輸協議。為了確保HTTP傳輸層安全 ,係統必須確保HTTP計劃在應用層上的冪等性 。

  冪等計劃

  HTTP / 1.1規範將冪等計劃定義為

  計劃也可以具有“冪等性”的屬性(除了錯誤或到期尷尬) ,N> 0相同請求的副作用與單個請求的副作用相同 。

  換句話會談,應用程序應該確保它籌備籌備多個執行相同計劃的影響。這可以例如通過提供唯一的事務id以及通過避免執行相同的邏輯操作的其他手段來實現 。

  請注意,此尷尬不是特定於HttpClient 。基於校驗器的應用程序受到與HTTP計劃非冪等性完全相同的尷尬 。

  自動異常恢複

  默認情況下,HttpClient嚐試自動從異常恢複 。默認的自動恢複機製僅限於已知安全的少數異常。

  HttpClient將不會嚐試從任何邏輯或HTTP協議錯誤(從HttpException類派生) 。

  當HTTP請求仍在傳輸到目標服務器(即請求尚未完全傳輸到服務器)時,HttpClient將自動重試最多5次出局傳輸異常的計劃 。

  HttpClient將自動重試最多5次那些已經完全傳輸到服務器的計劃 ,但服務器無法感謝HTTP狀態代碼(服務器簡易地刪除接合 ,不發送任何回)。在這種情況下 ,假定請求未被服務器籌備 ,並且應用程序狀態未更改 。如果這個假設可能不適用於您的應用程序定向的Web服務器,強烈建議提供自定義異常籌備程序 。

    热门排行

    友情链接