我试图使用java rome-fetcher获取rss feed以进行处理。当我有直接上网时,一切正常。
但是,我需要能够在代理服务器后面运行我的应用程序。
我一直无法弄清楚如何用罗马收割机完成这项工作。
我知道jvm
System.setProperty("http.proxyHost", proxy);
System.setProperty("http.proxyPort", proxyPort);
黑客,但这不是一个我不想解释的原因。
使用HttpClient,你通常会做这样的事情。
DefaultHttpClient client = new DefaultHttpClient();
HttpHost proxyTarget = new HttpHost("proxy.server.com", 4444);
client.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxyTarget);
是否有人如何将代理设置和身份验证凭据分配给rome-fetcher?
答案 0 :(得分:0)
设置http.proxyHost
和http.proxyPort
是目前暂时使用 http proxy 的唯一选择。
答案 1 :(得分:0)
因为System.setProperty(...)是rome-fetcher的唯一代理选项,所以我最终下载了rome-fetcher源的副本并对底层http客户端进行了修改,因此它可以处理不同的代理配置。
答案 2 :(得分:0)
Fetcher在罗马1.6版中已被弃用,将在2.0版中删除:
https://github.com/rometools/rome/issues/276
给出的原因之一是用户无法完全控制底层HTTP连接 - 例如无法指定代理。建议直接使用Apache HttpClient。