我正在使用apache http client 4進行所有網頁訪問。 這意味着我需要做的每個查詢都必須通過URI語法檢查。 一個我試圖訪問的網站採用UNICODE爲URL GET PARAMS編碼,即:在UNICODE中爲apache httpclient 4 URI編碼
(帕拉姆 「srh_txt =%u05E0%u05D9%u05D1」 編碼srh_txt =ניב在UNICODE )
問題是URI不支持UNICODE編碼(它只支持UTF-8) 這裏真的很大的問題是,這個網站期望它的參數是以UNICODE編碼的,所以任何嘗試轉換URL使用String.format(「http://...srh_txt=%s& ...」,URLEncoder.encode(「ניב」,「UTF8」)) 產生一個url,這是合法的,可以是你sed構造一個URI,但是由於它不是它所期望的編碼,所以該站點對它的響應是一個錯誤消息。
通過這種方式可以創建URL對象,甚至可以使用未轉換的URL來連接到網站。 有什麼辦法在非UTF-8編碼中創建URI? 是否有任何方式與常規URL(而不是URI)與Apache HTTPClient 4?
感謝, 和合
非常感謝您的回答 我在我的代碼中運行了一個url列表,並且有時會得到URISyntaxExceptions並試圖找到解決其中一些問題的方法(最後一篇文章中的例外只是其中的一個url該列表) 我認爲這個問題將被視爲代碼中的「無法解決問題」(但不會花費大量時間) 我將繼續進行下一步。 再次感謝 Niv – Niv 2010-02-17 15:25:14