在tomcat7上运行着一个servlet,它通过Web服务调用第三方网站。在Windows机器上,该调用工作正常,但从tomcat运行时失败。Tomcat是否会自动使用Windows的代理设置?我加了
set JAVA_OPTS=%JAVA_OPTS% "-Dhttp.proxySet=true" set JAVA_OPTS=%JAVA_OPTS% "-Dhttp.proxyHost=IP" set JAVA_OPTS=%JAVA_OPTS% "-Dhttp.proxyPort=8080"
到CATALINA.BAT和
http.proxyHost=IP http.proxyPort=8080
到catalina.properties,但仍然没有任何变化。我们如何将Tomcat设置为使用Windows的代理设置,并且有没有办法检查tomcat是否选择了指定的代理设置?
否,Tomcat不会自动使用系统代理设置。
我建议您研究一下所提供的设施java.net.Proxy。这使您可以在运行时动态指定代理。系统属性起作用,但是它们只能读取一次,并且如果Tomcat HttpURLConnection在设置它们之前已经将其用于自己的目的,那就结束了:设置无效。
java.net.Proxy
HttpURLConnection