我创建了一项通过互联网发布内容的服务,一切都很好。但是当我将其部署到我们的服务器时,我得到连接状态:403,禁止。我认为这是因为我们的服务器不允许在未先登录的情况下直接访问互联网。我们必须首先使用我们的用户名/密码在浏览器中登录才能访问互联网。
我注意到,如果我登录并访问服务器中的互联网,我部署的服务就可以正常运行。但我认为这不实用,因为在这种情况下,如果我或某人不先登录,我的服务将无法运行。
我尝试在java代码中设置代理但无济于事。有人可以帮我解决这个问题吗?这是我发布的服务片段。
System.getProperties().put("http.proxySet", "true");
System.getProperties().put("http.proxyHost", myHost);
System.getProperties().put("http.proxyPort", "8080");
System.getProperties().put("http.proxyUser", myUser);
System.getProperties().put("http.proxyPassword", myPassword);
System.getProperties().put("http.nonProxyHosts", "localhost|127.0.0.1");
try {
URL url = new URL(urlAddress);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
con.setDoInput(true);
...
if (con.getResponseCode() == HttpURLConnection.HTTP_OK) {
System.out.println("connection OK");
istrm = con.getInputStream();
if (istrm == null) {
System.out.println("istrm == null");
}
...
} else {
System.out.println("Response: " + con.getResponseCode() + ", " + con.getResponseMessage());
}
}
我的进程转到 else 块并收到响应消息 403
尝试使用 System.setProperty(String, String) 代替。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)