代理服务器java代理服务器设置方法

代理服务器设置  时间:2021-04-09  阅读:()

java代理服务器设置方法

在Java中使用proxy是通过设置java环境变量来实现的也就是JVM的系统属性。我们需要设置三个属性 proxySetproxyHost和proxyPort。proxySet是个boolean类型的可以设置为true或者false true代表使用代理服务器。 proxyHost是代理服务器的IP地址p roxy Po rt是代理服务器的端口地址。

我们有两种方法设置这种系统属性

一种是命令行下运行Java程序的时候通过参数付值

一种是在java源程序中设置。

第一种方法的格式如下java-DproxySet=true-DproxyHost=myProxyServer.come-DproxyPort=80MyJavaApp第二种方法就是直接在源程序中通过系统属性来写如下importjava.uti l .Properties;

. . .

. . .strProxy="221.15.5.67";strPort="8080";

PropertiessystemProperties=System.getProperties;systemProperties.setProperty;systemProperties.setProperty;

JDK1.3以上版本只要设置了proxyHost和proxyPort就不用写proxySet了。下面是一个完整的例子strUrl="http://blog.csdn.net/cqq/";

URLurl=newURL;

URLConnectionconn=url .openConnection;strProxy="221.15.5.67";strPort="8080";

PropertiessystemProperties=System.getProperties;systemProperties.setProperty;systemProperties.setProperty;

BufferedReaderrd=newBufferedReader));whi le) !=nul l)rd.close;

17.5.2使用ProxySel ector选择代理服务器

前面介绍的直接使用Proxy对象可以在打开U RLConnection或Socket时指定代理服务器使用这种方式需要每次打开连接都显式设置代理服务器。如果想让系统打开连接时总是具有默认的代理服务器则可以使用java.net.ProxySel ector它可以它根据不同的连接使用不同的代理服务器。

系统默认的ProxySelector会检测各种系统属性和URL协议然后决定怎样连接不同的主机。当然程序也可以调用ProxySelector类的setDefaultI()静态方法来设置默认代理服务器也可以调用getDefault()方法获得系统当

前默认的代理服务器。

程序可以通过System类来设置系统的代理服务器属性关于代理服务器常用的属性名有如下三个http.proxyHost设置HTTP访问所使用的代理服务器地址。该属性名的前缀可以改为https、 ftp等分别用于设置HTTP访问、安全HTTP访问和FTP访问所用的代理服务器地址。http.proxyPort设置HTTP访问所使用的代理服务器端口。该属性名的前缀可以改为https、 ftp等分别用于设置HTTP访问、安全HTTP访问和FTP访问所用的代理服务器端口。http.nonProxyHosts设置HTTP访问中不需要使用代理服务器的远程主机可以使用*通配符如果有多个地址多个地址用竖线 | 分隔。

下面程序示范了通过改变系统属性来改变默认的代理服务器。

程序清单 codes/17/17-5/ProxySelectorTest.java

上面程序中三行粗体字代码设置Java打开HTTP访问时的代理服务器属性其中前两行代码设置代理服务器的地址和端口第三行代码设置该代理HTTP访问哪些主机时不需要使用代理服务器。上面程序的①行代码处直接打开一个URLConnection但系统会为打开该URLConnection时使用代理服务器。

运行上面程序将会看到程序长时间等待 因为192.168.0.96通常并不是有效的代理服务器当然如果读者运行的机器恰好可以使用地址为

192.168.0.96的代理服务器又另当别论。

系统提供了默认的ProxySel ector子类作为代理选择器开发者可以实

现自己的代理选择器程序可以通过继承ProxySelector来实现自己的代理选择器。继承ProxySelector需要重写两个方法

List<Proxy>select(U RIuri) 实现该方法让代理选择器根据不同的URI来使用不同的代理服务器该方法就是代理选择器管理网络连接使用代理服务器的关键。connectFai led(URIuri,SocketAddresssa,IOExceptionioe) 当系统通过默认的代理服务器建立连接失败后代理选择器将会自动调用该方法。通过重写该方法可以对连接代理服务器失败的情形进行处理。

系统默认的代理服务器选择器也重写了connectFai led方法它重写该方法的处理策略是 当系统设置的代理服务器失败时默认代理选择器将会采用直连的方式连接远程资源所以当运行上面程序等待了足够长时间时程序依然可以打印出该远程资源的所有内容。

云基最高500G DDoS无视CC攻击(Yunbase),洛杉矶CN2GIA、国内外高防服务器

云基成立于2020年,目前主要提供高防海内外独立服务器用户,欢迎各类追求稳定和高防优质线路的用户。业务可选:洛杉矶CN2-GIA+高防(默认500G高防)、洛杉矶CN2-GIA(默认带50Gbps防御)、香港CN2-GIA高防(双向CN2GIA专线,突发带宽支持,15G-20G DDoS防御,无视CC)、国内高防服务器(广州移动、北京多线、石家庄BGP、保定联通、扬州BGP、厦门BGP、厦门电信、...

HostMem,最新优惠促销,全场75折优惠,大硬盘VPS特价优惠,美国洛杉矶QuadraNet机房,KVM虚拟架构,KVM虚拟架构,2核2G内存240GB SSD,100Mbps带宽,27美元/年

HostMem近日发布了最新的优惠消息,全场云服务器产品一律75折优惠,美国洛杉矶QuadraNet机房,基于KVM虚拟架构,2核心2G内存240G SSD固态硬盘100Mbps带宽4TB流量,27美元/年,线路方面电信CN2 GT,联通CU移动CM,有需要美国大硬盘VPS云服务器的朋友可以关注一下。HostMem怎么样?HostMem服务器好不好?HostMem值不值得购买?HostMem是一家...

日本CN2、香港CTG(150元/月) E5 2650 16G内存 20M CN2带宽 1T硬盘

提速啦简单介绍下提速啦 是成立于2012年的IDC老兵 长期以来是很多入门级IDC用户的必选商家 便宜 稳定 廉价 是你创业分销的不二之选,目前市场上很多的商家都是从提速啦拿货然后去分销的。提速啦最新物理机活动 爆炸便宜的香港CN2物理服务器 和 日本CN2物理服务器香港CTG E5 2650 16G内存 20M CN2带宽 1T硬盘 150元/月日本CN2 E5 2650 16G内存 20M C...

代理服务器设置为你推荐
php计划任务windows系统下如何设置PHP定时任务asp.net什么叫ASP.NET?cuteftp什么是CuteFTP?如何将网站内容上传(FTP)到网站空间?邮件eset开放平台企鹅号和腾讯内容开放平台是一样的吗,有什么区别?缤纷网缤纷的意思是什么爱买网超爱买网的特点灌水机什么是论坛灌水机?在哪里可以下载到呢?如何发帖子如何发表帖子团购程序什么是团购 团购的目的与流程
如何注销域名备案 香港主机 42u机柜尺寸 好看的留言 商务主机 三拼域名 seednet 共享主机 linux服务器维护 昆明蜗牛家 t云 无限流量 厦门电信 www789 博客域名 蓝队云 linux服务器系统 windowsserver2012 服务器是什么意思 comodo 更多