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

A400互联(49元/月)洛杉矶CN2 GIA+BGP、1Gbps带宽,全场独服永久5折优惠

a400互联是一家成立于2020年商家,主营美国机房的产品,包括BGP线路、CN2 GIA线路的云服务器、独立服务器、高防服务器,接入线路优质,延迟低,稳定性高,额外也还有香港云服务器业务。当前,全场服务器5折,香港VPS7折,洛杉矶VPS5折,限时促销!A400互联官网:https://a400.net/优惠活动全场独服永久5折优惠(续费同价):0722香港VPS七折优惠:0711洛杉矶VPS五...

Megalayer美国独立服务器配置及性能速度综合评测

Megalayer 商家在之前也有记录过,商家开始只有提供香港站群服务器和独立服务器,后来也有增加到美国独立服务器,以及前几天也有介绍到有增加香港VPS主机。对于香港服务器之前有过评测(Megalayer香港服务器配置一览及E3-1230 8GB服务器评测记录),这里申请到一台美国独立服务器,所以也准备简单的评测记录。目前市场上我们看到很多商家提供VPS或者云服务器基本上没有什么特别的,但是独立服...

IonSwitch:$1.75/月KVM-1GB/10G SSD/1TB/爱达荷州

IonSwitch是一家2016年成立的国外VPS主机商,部落上一次分享的信息还停留在2019年,主机商提供基于KVM架构的VPS产品,数据中心之前在美国西雅图,目前是美国爱达荷州科德阿伦(美国西北部,西接华盛顿州和俄勒冈州),为新建的自营数据中心。商家针对新数据中心运行及4号独立日提供了一个5折优惠码,优惠后最低1GB内存套餐每月仅1.75美元起。下面列出部分套餐配置信息。CPU:1core内存...

代理服务器设置为你推荐
复旦大学wordpress2014年软件产品登记名单(6月第二批)重庆网络公司一九互联重庆网络公司,重庆网络优化,重庆页面制作性价比高且便宜的网络公司有哪些?重庆杨家坪猪肉摊主杀人重庆九龙坡区治安好么flashfxp下载求最新无需注册的FlashFXP下载地址oa办公软件价格一套专业版的oa办公系统多少钱?如何发帖子如何发表帖子谷歌新漏洞安卓上黑客给你发一个MP4代码短信手机就会被控制的那个漏洞现在谷歌有出第二段补丁吗?店铺统计怎样查淘宝店铺的销售总额织梦内容管理系统织梦内容管理系统有什么特点
电信服务器租赁 vps是什么 国外vps租用 堪萨斯服务器 香港服务器99idc 美元争夺战 rak机房 免费ddos防火墙 免空 seednet 789电视 169邮箱 泉州移动 网通服务器托管 吉林铁通 智能dns解析 iki 贵阳电信 申请免费空间 privatetracker 更多