gpt4 book ai didi

java - 具有基本身份验证功能的 Apache Camel RSS 模块

转载 作者:行者123 更新时间:2023-11-30 08:03:11 25 4
gpt4 key购买 nike

我正在尝试使用 Apache Camel 的 rss module使用受基本身份验证保护的 RSS 源作为端点。但是,我找不到任何文档如何向其传递用户凭据。有人知道怎么做这个吗?好的解决方法也值得赞赏!

最佳答案

我认为目前还不可能。 Camel-rss 使用 rome 来读取 RSS 提要。看一下org.apache.camel.component.rss.RssUtils的代码:

public static SyndFeed createFeed(String feedUri, ClassLoader classLoader) throws Exception {
ClassLoader tccl = Thread.currentThread().getContextClassLoader();
try {
Thread.currentThread().setContextClassLoader(classLoader);
InputStream in = new URL(feedUri).openStream();
SyndFeedInput input = new SyndFeedInput();
return input.build(new XmlReader(in));
} finally {
Thread.currentThread().setContextClassLoader(tccl);
}
}

要使用基本身份验证,必须有类似的内容

public static SyndFeed createFeed(String feedUri, ClassLoader classLoader) throws Exception {
ClassLoader tccl = Thread.currentThread().getContextClassLoader();
try {
Thread.currentThread().setContextClassLoader(classLoader);
URL feedUrl = new URL(feedUri);
HttpURLConnection httpcon = (HttpURLConnection)feedUrl.openConnection();
String encoding = new sun.misc.BASE64Encoder().encode("username:password".getBytes());
httpcon.setRequestProperty ("Authorization", "Basic " + encoding);
SyndFeedInput input = new SyndFeedInput();
return input.build(new XmlReader(httpcon));
} finally {
Thread.currentThread().setContextClassLoader(tccl);
}
}

这是这里描述的方式 --> rome-xmlreader-not-reading-https-feed

我为此功能开了一张新票证。 --> CAMEL-9009

关于java - 具有基本身份验证功能的 Apache Camel RSS 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31567021/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com