您好,登錄后才能下訂單哦!
處理HTTP請求返回結果出現亂碼怎么辦?相信很多新手小白對此束手無策,通過這篇文章的總結,希望你能找到解決的方法。以下是亂碼的原因和解決方法。
原因:處理HTTP請求返回結果時,出現亂碼是因為設置Charset編碼格式不正確,通常設置UTF-8可以解決大部分情況,但并不是所有Web服務器都一定使用UTF-8格式。
解決:正確的方法是獲取內容編碼時的格式:
- 調用httpResponse.getEntiry()獲取返回結果
- 調用ContentType.get()獲取內容類型
- 調用ContentType.getCharset()獲取編碼格式
- 調用EntityUtils.toString()將返回結果格式化為字符串
public class RespStr implements ResponseHandler<String> {
@Override
public String handleResponse(HttpResponse httpResponse) throws IOException {
HttpEntity entity = httpResponse.getEntity();
if (entity == null) {
throw new ClientProtocolException("Response contains no content");
}
// 讀取返回內容
ContentType contentType = ContentType.getOrDefault(entity);
Charset charset = contentType.getCharset();
return EntityUtils.toString(entity, charset == null ? Charset.forName("utf-8") : charset);
}
}
ResponseHandler<T>是httpclient包內提供的接口,實現函數handleResponse()處理HTTP返回結果。
以上就是處理HTTP請求返回結果出現亂碼的解決方法,詳細使用情況還得要大家自己使用過才能知道具體要領。如果想閱讀更多相關內容的文章,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。