151.16. 配置 charset
如果您使用 POST
发送数据,您可以使用 Exchange
属性配置 charset
:
exchange.setProperty(Exchange.CHARSET_NAME, "ISO-8859-1");
151.16.1. 带有调度的轮询的示例
这个示例每 10 秒轮询 Google 主页,并将页面写入文件 message.html
:
from("timer://foo?fixedRate=true&delay=0&period=10000") .to("http4://www.google.com") .setHeader(FileComponent.HEADER_FILE_NAME, "message.html") .to("file:target/google");
151.16.2. 来自端点 URI 的 URI 参数
在这个示例中,我们拥有完整的 URI 端点,只是您在 Web 浏览器中键入的内容。可以使用 &
作为分隔符设置多个 URI 参数,就像您在 Web 浏览器中一样。Camel 这里没有问题。
// we query for Camel at the Google page template.sendBody("http4://www.google.com/search?q=Camel", null);
151.16.3. 消息中的 URI 参数
Map headers = new HashMap(); headers.put(Exchange.HTTP_QUERY, "q=Camel&lr=lang_en"); // we query for Camel and English language at Google template.sendBody("http4://www.google.com/search", null, headers);
在上面的标头值中,它不应 以 ?
前缀,您可以像使用 &
amp; char 来分隔参数。
151.16.4. 获取响应代码
您可以通过使用 Exchange.HTTP_RESPONSE_CODE
从 Out message 标头获取 HTTP 响应代码。
Exchange exchange = template.send("http4://www.google.com/search", new Processor() { public void process(Exchange exchange) throws Exception { exchange.getIn().setHeader(Exchange.HTTP_QUERY, constant("hl=en&q=activemq")); } }); Message out = exchange.getOut(); int responseCode = out.getHeader(Exchange.HTTP_RESPONSE_CODE, Integer.class);