关于在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个请求了哈....  无解啊

关于在J2EE里使用代理访问外网的问题,布布扣,bubuko.com

时间: 2024-10-12 22:04:50

关于在J2EE里使用代理访问外网的问题的相关文章

内网服务器通过Squid代理访问外网

环境说明 项目整体需部署Zabbix监控并配置微信报警,而Zabbix Server并不能访问外网,故运维小哥找了台能访问外网的服务器做Suqid代理,Zabbix Server服务器通过代理服务器访问外网. 操作说明 [[email protected] ~]# echo "1" >/proc/sys/net/ipv4/ip_forward [[email protected] ~]# yum -y install squid [[email protected] ~]# vi

Ucloud无外网IP云主机通过代理访问外网

现有两台Ucloud云主机 A.10.10.47.65  (有外网IP) B.10.10.30.101 A主机由外网IP,B主机没有.现在需要通过网络在B主机上安装软件. 1.

阿里云内网机器通过squids代理上访问外网资源

一.背景 代理服务器A(10.0.1.2)机器有公网地址可正常访问外网 业务服务器B(10.0.1.33)机器无公网地址不能访问外网 代理服务器A((10.0.1.2)和业务服务器B(10.0.1.33)在公一个数据中心(同一个局域网) 需要实现B访问外网通过A代理出去 二.安装 在代理服务器A(10.0.1.2)机器上安装squid yum install openssl squid -y 然后启动服务 service squid start 2.在业务服务器B(10.0.1.33)机器宿主目

sockets+proxychains代理,使内网服务器可以访问外网

Socks5+proxychains做正向代理 1.         应用场景: 有一台能上外网的机子,内网机子都不能连外网,需求是内网机子程序需要访问外网,做正向代理. 2.         软件 Server端:   Client端:       3.SOCKS5 是一个代理协议,它在使用TCP/IP协议通讯的前端机器和服务器机器之间扮演一个中介角色,使得内部网中的前端机器变得能够访问Internet网中的服务器,或者使通讯更加安全.SOCKS5 服务器通过将前端发来的请求转发给真正的目标服

linux内网机器访问外网代理设置

1.检查机器 在操作中发现访问外网的机器本身不能使用yum 安装软件,故需要配置yum安装源.如果可以的,这步可忽略. [[email protected] test]# lsb_release -a LSB Version:    :core-4.0-amd64:core-4.0-ia32:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-amd64:printing-4.

医院内外网之间通过网闸交互,通过端口转发加nginx代理实现内网访问外网

首先介绍下主要需求,很简单,就是要在医院his系统内嵌公司的平台,实现内网直接访问外网 这是院方给我提供的网闸相关配置,105是医院内网的服务器,120是外网的服务器,中间通过网闸配置的几个端口实现互通 首先我们需要用windos的netsh命令增加一条端口转发规则 172.16.20.105的10002端口转发到172.16.21.27的10003端口 然后我们在27服务器上的10003端口启动sso服务以供调用,调用之后返回 然后需要在27上做一个nginx代理以实现对外网的访问 最后我们在

在OpenStack里怎样配置Neutron,让虚拟机访问外网

http://blog.csdn.net/zhangli_perdue/article/details/50264681 OpenStack里虚机(或者叫instance)只有在分配floating IP后才能访问外网,那么需要怎样做配置才能达到目的呢? 1. 需要在网络节点上确定一个可以访问外网的物理网卡,这个网卡可以和管理网卡是一个.这里我们假定外网网卡和管理网卡是独立的,且外网网卡的名字叫做eth2. 2. 添加一个新的bridge br-ex,并将eth2作为port绑定到br-ex [

​随时笔记---修改ip访问外网

随时笔记---修改ip访问外网 Linux环境: 网卡上增加一个IP: ifconfig eth0:1 192.168.0.1 netmask 255.255.255.0 删除网卡的第二个IP地址: ip addr del 192.168.0.1 dev eth0 这种方式增加的虚拟IP,可以通过ifconfig查看 另一种增加虚拟IP的方法(ifconfig查看不到): 增加虚拟IP: ip -f inet addr add 192.168.146.229/32 brd 192.168.146

windows 代理服务器的搭建,提供Android 端访问外网.

这段时间遇到一个情况,移动的网络收费.但是可以访问学校内部的网络,比如说学校官网图书馆之类了.所以我这里便想到一个方法,用学校内部一个可以访问互联网的主机充当代理服务器(我这里使用自己的电脑,非服务器). 一,需要的软件: PC端,CCProxy Android端,proxydroid  如果想设置全局代理 (global proxy ) 手机需要  root   该软件的源码地址  :https://github.com/madeye/proxydroid 二,搭建必要条件: 充当服务器的PC