簡體   English   中英

使用http4將任何網頁內容轉換為UTF-8

[英]Converting any web page content to UTF-8 using http4

我正在使用apache camel-http4。

我想將任何網頁內容轉換為UTF-8,我使用http4作為我的httpClient。

我創建了我的HttpClientConfigurer類,它實現了org.apache.camel.component.http4.HttpClientConfigurer。

我已將HTTP_CONTENT_CHARSET設置為Consts.UTF_8,如configureHttpClient方法中所示。

   public void configureHttpClient(HttpClient client) {
    client.getParams().setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1).setParameter(CoreProtocolPNames.HTTP_CONTENT_CHARSET,Consts.UTF_8);
}

但這似乎沒有用。

我也試過像這樣設置標題為UTF-8,

  setHeader(Exchange.HTTP_CHARACTER_ENCODING, constant('UTF-8'))

在我的路線內,但那也沒有用。

關於如何使用http4將任何頁面編碼轉換為UTF-8的任何想法。

哦,編碼魔法不像這樣那么容易。 它幾乎不依賴於您的輸入字符集,並且您的消息正文必須采用正確的編碼才能將其正確轉換為輸出。 所以,你必須這樣做

  1. 以適當的編碼接收輸入(如果不能,它將不起作用)
  2. 將身體轉換為utf-8編碼。 通過.convertBodyTo(String.class, "UTF-8") (如果1.錯了,它將無效)
  3. 使用正確的編碼元數據發送出去,你做了Exchange.HTTP_CHARACTER_ENCODING

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM