28.17. 配置 charset


如果使用 POST 发送数据,您可以使用 Exchange 属性配置 charset

exchange.setProperty(Exchange.CHARSET_NAME, "ISO-8859-1");

28.17.1. 带有调度的轮询示例

这个示例每 10 秒轮询 Google 主页,并将页面写入文件 message.html

from("timer://foo?fixedRate=true&delay=0&period=10000")
  .to("http://www.google.com")
  .setHeader(FileComponent.HEADER_FILE_NAME, "message.html")
  .to("file:target/google");

28.17.2. 来自端点 URI 的 URI 参数

在本例中,我们有完整的 URI 端点,它只是您在 Web 浏览器中输入的内容。可以使用 & 作为分隔符设置多个 URI 参数,就像您在 Web 浏览器中一样。Camel 不会在此处造成混淆。

// we query for Camel at the Google page
template.sendBody("http://www.google.com/search?q=Camel", null);

28.17.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("http://www.google.com/search", null, headers);

在上面的标头值中,它不应 带有前缀 ?, 您可以像 & amp; char 一样分隔参数。

28.17.4. 获取响应代码

您可以通过使用 Exchange.HTTP_RESPONSE_CODE 从 Out 消息标头中获取 HTTP 响应代码。

Exchange exchange = template.send("http://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);
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.