在基于Java的Web服务中使用代理获取Web页面

时间:2011-11-10 06:42:36

标签: java web-services tomcat proxy

我的网络服务将使用代理获取一些网页:

System.setProperty("java.net.useSystemProxies", "true");
List<Proxy> proxies = ProxySelector.getDefault().select(new URI(url));

URLConnection connection = null;
Iterator<Proxy> iter = proxies.iterator();
do {
    Proxy proxy = iter.next();
    System.out.println(proxy);
    try {
        connection = new URL(url).openConnection(proxy);
    } catch (IOException e) {
        if (!iter.hasNext()) throw (e);
    }
} while (connection == null);

但是,默认的ProxySelector始终返回直接连接(无代理)。我检查了我的IE代理设置,并将Java控制面板中的代理设置设置为系统浏览器设置。

由于Tomcat服务器调用Web服务,可能必须在Tomcat服务器中完成一些配置吗?

1 个答案:

答案 0 :(得分:0)

请看这个链接。

http://download.oracle.com/javase/6/docs/technotes/guides/net/proxies.html

  • http.proxyHost:代理服务器的主机名
  • http.proxyPort:端口号,默认值为80。
  • http.nonProxyHosts:应绕过代理直接到达的主机列表。这是由“|”分隔的模式列表。对于通配符,模式可以以'*'开头或结尾。任何匹配这些模式之一的主机都将通过直接连接而不是通过代理
  • 来访问