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

标签 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 控制面板中的代理设置设置为系统浏览器设置。

既然web服务是通过Tomcat服务器调用的,那么可能需要在Tomcat服务器中进行一些配置?

最佳答案

请查看此链接。

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

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

关于java - 在基于 Java 的 Web 服务中使用代理获取网页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8075839/

相关文章:

java - 下面的配置是什么意思(jaxb-fluent-api)?

c# - 拥有多个 WCF 项目与具有多个服务的 1 个 WCF 项目

tomcat - 设置 Tomcat 以使用来自特定组的 LDAP 用户

java - 如何使 RCP 切换按钮状态更明显?

java - 使用 Web 服务在 Java 中调用 C#.Net 函数

maven - Cargo 无法使用 cargo-maven-plugin 部署到远程 tomcat 8

java - 如何使用 Azure DevOps 发布管道将 Java 应用程序部署到 Tomcat 8 App Service?

java - 使用不受 Spring 管理的静态方法初始化类

java - 字符串不变性允许缓存哈希码值

java - 尝试实现一个简单的 Jersey Rest 项目