【问题标题】:Java servlet application running behind squid proxy on windows在 Windows 上的 squid 代理后面运行的 Java servlet 应用程序
【发布时间】:2012-07-22 18:53:01
【问题描述】:

我使用需要身份验证的 squid HTTP 代理,并希望向外部服务器发出 API 请求。但是,当我这样做时,我收到以下错误:

原因:java.io.IOException:无法通过代理隧道。代理返回“HTTP/1.0 407 Proxy Authentication Required”

我尝试通过转到控制面板 > Java > 网络设置来设置代理配置,但无济于事。 如何解决?

【问题讨论】:

    标签: java servlets proxy jvm


    【解决方案1】:

    http://www.it.iitb.ac.in/~roshan/articles/javahttpproxy.html复制:

    Tomcat 设置:catalina.properties

    将这些属性附加到 Tomcat 中的 catalina.properties 文件:${CATALINA_OME}/conf/catalina.properties 文件:

    http.proxyHost=yourProxyURL http.proxyPort=你的代理端口 http.proxyUser=你的用户名 http.proxyPassword=你的密码 Tomcat 设置:catalina.bat

    在 ${CATALINA_HOME}/bin/catalina.bat(对于 Windows)或 ${CATALINA_HOME}/bin/catalina.bat(对于 *nix)中添加上面定义的所有参数: JAVA_OPTS="-Dhttp.proxyHost=yourProxyURL ..." (每个选项用空格分隔。)

    【讨论】:

      【解决方案2】:

      您应该在 java 中设置代理设置。

      System.getProperties().put("http.proxyHost", "someProxyURL");
      System.getProperties().put("http.proxyPort", "someProxyPort");
      System.getProperties().put("http.proxyUser", "someUserName");
      System.getProperties().put("http.proxyPassword", "somePassword");
      

      【讨论】:

      • 谢谢! :) 我更喜欢需要我直接在 tomcat 服务器中设置代理设置而不是在代码中设置它们的东西。这样,我在以后的项目中就不用担心代理设置了。
      • 您可以尝试将它们添加到tomcat启动脚本中。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-27
      • 2014-12-19
      • 2019-01-14
      • 1970-01-01
      • 2011-08-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多