使用HttpClient過程中常見的一些問題
下面介紹在使用HttpClient過程中常見的一些問題。
字元編碼
某目標頁的編碼可能出現在兩個地方,第一個地方是伺服器返回的http頭中,另外一個地方是得到的html/xml頁面中。
•在http頭的Content-Type欄位可能會包含字元編碼資訊。例如可能返回的頭會包含這樣子的資訊:Content-Type: text/html; charset=UTF-8。這個頭資訊表明該頁的編碼是UTF-8,但是伺服器返回的頭資訊未必與內容能匹配上。比如對於一些雙位元組語言國家,可能伺服器返回的編碼型別是UTF-8,但真正的內容卻不是UTF-8編碼的,因此需要在另外的地方去得到頁面的編碼資訊;但是如果伺服器返回的編碼不是UTF-8,而是具體的一些編碼,比如gb2312等,那伺服器返回的可能是正確的編碼資訊。透過method物件的getResponseCharSet()方法就可以得到http頭中的編碼資訊。
•對於象xml或者html這樣的檔案,允許作者在頁面中直接指定編碼型別。比如在html中會有 這樣的標籤;或者在xml中會有這樣的標籤,在這些情況下,可能與http頭中返回的編碼資訊衝突,需要使用者自己判斷到底那種編碼型別應該是真正的編碼。
自動轉向
•對於象xml或者html這樣的檔案,允許作者在頁面中直接指定編碼型別。比如在html中會有
自動轉向
根據RFC2616中對自動轉向的定義,主要有兩種:301和302。301表示永久的移走(Moved Permanently),當返回的是301,則表示請求的資源已經被移到一個固定的新地方,任何向該地址發起請求都會被轉到新的地址上。302表示暫時的轉向,比如在伺服器端的servlet程式呼叫了sendRedirect方法,則在客戶端就會得到一個302的程式碼,這時伺服器返回的頭資訊中location的值就是sendRedirect轉向的目標地址。
HttpClient支援自動轉向處理,但是象POST和PUT方式這種要求接受後繼服務的請求方式,暫時不支援自動轉向,因此如果碰到POST方式提交後返回的是301或者302的話需要自己處理。就像剛才在POSTMethod中舉的例子:如果想進入登入BBS後的頁面,必須重新發起登入的請求,請求的地址可以在頭欄位location中得到。不過需要注意的是,有時候location返回的可能是相對路徑,因此需要對location返回的值做一些處理才可以發起向新地址的請求。
另外除了在頭中包含的資訊可能使頁面發生重定向外,在頁面中也有可能會發生頁面的重定向。引起頁面自動轉發的標籤是:。如果你想在程式中也處理這種情況的話得自己分析頁面來實現轉向。需要注意的是,在上面那個標籤中url的值也可以是一個相對地址,如果是這樣的話,需要對它做一些處理後才可以轉發。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/81227/viewspace-694104/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 網站建設過程中常見的問題網站
- Deployer 使用過程的一些問題
- 恆訊科技分析:伺服器租用過程中常見的三大問題伺服器
- 【FAQ】接入華為帳號服務過程中常見問題總結
- 【FAQ】接入HMS Core地圖服務過程中常見問題總結地圖
- 中科三方:SSL證書配置過程中常見問題盤點
- 【FAQ】運動健康服務REST API介面使用過程中常見問題和解決方法總結健康服務RESTAPI
- 我使用jest測試專案中常見的問題
- 介面測試過程中常見的介面安全性問題,通用測試點整理歸納
- Linux MIPI 除錯中常見的問題Linux除錯
- thrift使用過程中的問題
- Filebeat和logstash 使用過程中遇到的一些小問題記錄
- workerman開發過程中遇到的一些常見的問題與解決方法
- windows 中常見的一些埠Windows
- 開發中常見問題總結
- [譯] 前端專案中常見的 CSS 問題前端CSS
- socket程式設計中常見的概念問題!程式設計
- vue中常見的問題以及解決方法Vue
- 開發過程中mysql常見問題MySql
- 熟悉面試中常見的的 web 安全問題面試Web
- 記錄一個HttpClient超時連線配置不生效的問題排查過程HTTPclient
- spring中常見的一些註解Spring
- React TSLint中常見的問題及處理方法React
- 跨域請求中常見的幾個問題跨域
- 數藏平臺運營中常見的問題
- vue專案開發過程常見問題Vue
- 銷售團隊管理過程常見問題
- 整理的一些常見問題
- 整理debian安裝過程中的一些問題與方法
- 分析IT專案管理中常見的問題和挑戰專案管理
- 問卷調查中常見問題及解決方法
- 記一次HttpClient使用問題分析HTTPclient
- 連結串列專題——面試中常見的連結串列問題面試
- 總結HTTP中常見的一些名詞HTTP
- 前端開發過程常見問題,比如JavaScript變數的提升前端JavaScript變數
- 儲存過程訪問其他使用者的表的問題儲存過程
- 接入HMS Core應用內購買服務過程中一些常見問題總結
- npm install 使用過程出現的問題總結NPM
- Mac電腦使用imazing過程中遇到的問題Mac