我正在尝试使用java rome fetcher来获取rss提要进行处理。当我有直接的互联网接入时,一切都很好。
但是,我需要能够在代理服务器后面运行我的应用程序。
我一直不能想出如何使用rome fetcher来实现这一点。
我知道jvm
System.setProperty("http.proxyHost", proxy); System.setProperty("http.proxyPort", proxyPort);
hack,但这不是一个选项,原因我不想解释。
使用HttpClient时,您通常会执行以下操作。
DefaultHttpClient client = new DefaultHttpClient(); HttpHost proxyTarget = new HttpHost("proxy.server.com", 4444); client.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxyTarget);
有人知道如何将代理设置和身份验证凭据分配给rome fetcher吗?
发布于 2011-10-29 04:44:17
设置http.proxyHost和http.proxyPort是目前为罗马使用http代理的唯一选项。
发布于 2011-11-09 23:38:28
因为System.setProperty(...)是罗马抓取器的唯一代理选项,我最终下载了罗马抓取器源代码的副本,并对底层http客户端进行了修改,以便它可以处理不同的代理配置。
发布于 2016-03-21 23:58:23
Fetcher在罗马1.6版本中已被弃用,并将在2.0版本中删除:
https://github.com/rometools/rome/issues/276
给出的原因之一是用户不能完全控制底层HTTP连接--例如无法指定代理。建议直接使用Apache HttpClient。
https://stackoverflow.com/questions/7934576
复制相似问题