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

美得云(20元)香港特价将军澳CTG+CN2云服务器

美得云成立于2021年,是一家云产品管理服务商(cloud)专业提供云计算服务、DDOS防护、网络安全服务、国内海外数据中心托管租用等业务、20000+用户的选择,43800+小时稳定运行香港特价将军澳CTG+CN2云服务器、采用高端CPU 优质CN2路线 SDD硬盘。香港CTG+CN22核2G3M20G数据盘25元点击购买香港CTG+CN2​2核2G5M30G数据盘39元点击购买香港CTG+CN...

CloudServer:$4/月KVM-2GB/50GB/5TB/三个数据中心

CloudServer是一家新的VPS主机商,成立了差不多9个月吧,提供基于KVM架构的VPS主机,支持Linux或者Windows操作系统,数据中心在美国纽约、洛杉矶和芝加哥机房,都是ColoCrossing的机器。目前商家在LEB提供了几款特价套餐,最低月付4美元(或者$23.88/年),购买更高级别套餐还能三个月费用使用6个月,等于前半年五折了。下面列出几款特别套餐配置信息。CPU:1cor...

JUSTG提供俄罗斯和南非CN2 GIA主机年$49.99美元JUSTGgia南非cn2南非CN2justG

JUSTG,这个主机商第二个接触到,之前是有介绍到有提供俄罗斯CN2 GIA VPS主机活动的,商家成立时间不久看信息是2020年,公司隶属于一家叫AFRICA CLOUD LIMITED的公司,提供的产品为基于KVM架构VPS主机,数据中心在非洲(南非)、俄罗斯(莫斯科),国内访问双向CN2,线路质量不错。有很多服务商实际上都是国人背景的,有的用英文、繁体搭建的冒充老外,这个服务商不清楚是不是真...

代理服务器设置为你推荐
空间文章qq空间日志文章,要求经典googlepr值seo谷歌pr值和什么有关系重庆网站制作请问重庆那一家网站制作公司资信度比较好?技术实力雄厚呢?结点cuteftp文档下载怎样在手机上建立word的文档? 需要下载什么软件?curl扩展linux上怎么操作开启php curl扩展可信网站可信网站认证网络u盘你们谁知道网络硬盘怎么用billboardchina美国Billboard公告牌年度10大金曲最新华丽合辑discuz伪静态求虚拟主机Discuz 伪静态设置方法
什么是域名解析 免费申请网页 godaddy主机 512m 新天域互联 php空间推荐 服务器干什么用的 台湾谷歌 卡巴斯基免费试用版 台湾google 可外链的相册 cdn服务 SmartAXMT800 winserver2008 什么是dns tracert 文件传输 主机托管 主机系统 ftp服务器架设 更多