【发布时间】:2018-10-19 21:06:21
【问题描述】:
java.io.IOException:服务器返回 HTTP 响应代码:403 for http://www.budgetbottle.com/vivino.xml
当通过 Java 类 main 方法在本地 tomcat 服务器上运行时,此 URL 有效(返回内容),但在生产机器上的 tomcat 服务器上运行时抛出错误。
代码如下:
URL url = new URL("http://www.budgetbottle.com/vivino.xml");
HttpURLConnection urlcon = (HttpURLConnection) url.openConnection();
urlcon.addRequestProperty("User-Agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36");
// System.setProperty("http.agent", "");
System.setProperty("http.agent", "Chrome");
// urlcons.setRequestProperty("Content-Language", "en-US");
// urlcons.setUseCaches(false);
// urlcons.setDoInput(true);
// urlcons.setDoOutput(true);
我已经应用了该论坛上提出的类似问题提供的解决方案,但没有解决方案。
更新:
我刚刚注意到,wget 实用程序也会在生产系统中引发相同的错误,而在本地系统中没有问题。请注意使用了 User-Agent 等选项
这是系统特定的错误吗?
【问题讨论】:
-
你试过'budgetbottle.com/vivino.xml'吗?包含https
-
是的@HarneetSingh,我尝试了budgetbottle.com/vivino.xml,但它也抛出了同样的异常