2014-02-05 160 views
2

在做這樣預測HTTP charchester編碼:駱駝:如何做轉換

from("direct:foo"). 
to("http://foo.com/bar.html"). 
convertBodyTo(String.class, "cp1251"). 
to("file:///tmp/bar.html") 

然而,一些網頁抓取我能有編碼從CP1251不同。如何確定編碼(使用Content-Type HTTP標頭或meta/@ http-equiv'字符集)並使用適當的字符集調用convertBodyTo()?可能是Camel HTTP組件可以做到嗎?什麼是Exchange.HTTP_CHARACTER_ENCODING

回答

1

您可以添加處理器來設置頭Exchange.CHARSET_NAME的交換屬性,該值可以是您從Http頭內容類型獲得的信息。 在這一點上,駱駝可以知道它可以使用的編碼。

+0

我無法知道'Content-type; charset'直到我下載頁面。在此之前,我無法設置Exchange.CHARSET_NAME。 – Archer

+0

僅供參考,我填補了JIRA https://issues.apache.org/jira/browse/CAMEL-7217它。 –

+0

對不起,發錯了訊息 – Archer