首页 > 代码库 > 关于在J2EE里使用代理访问外网的问题
关于在J2EE里使用代理访问外网的问题
今天写了一段代码想在service里访问一个外部网站,在service的方法里写了如下代码
System.setProperty("http.proxyType", "4"); System.setProperty("http.proxyPort", port); System.setProperty("http.proxyHost", host); System.setProperty("http.proxySet", "true"); URL url = new URL(hurl); HttpURLConnection con = (HttpURLConnection)url.openConnection(); con.setConnectTimeout(100000); con.connect(); int state = con.getResponseCode();
结果一直报连接超时,后来将设置代理的代码移动到control层后就可以正常访问了,不知是何原因,这里做个记录。
还有在用上面的代码测试访问中国天气网的上海天气预报的页面时,我把url加了些字符让它变成错误的url发现程序返回的状态码依然是200,而用浏览器访问则有如下情况:
用google浏览器监测了一下发现总共发出了2个网页请求,第一个请求是我主动发起的,返回的结果是302,然后客户端又主动访问了服务器的404页面???
如果是这样的话java代码应该是获取到302状态码的那个页面,但是实际实际读取网页的流后发现是后面这个404页面,这是一个很奇怪的问题。
如果是服务器端的跳转那我浏览器就不应该出现2个请求了哈.... 无解啊
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。