欢迎来到天天文库
浏览记录
ID:8807957
大小:17.55 KB
页数:4页
时间:2018-04-08
《java代理服务器设置方法》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、在Java中,使用proxy是通过设置java环境变量来实现的,也就是JVM的系统属性。我们需要设置三个属性,proxySetproxyHost和proxyPort。proxySet是个boolean类型的,可以设置为true或者false,true代表使用代理服务器。proxyHost是代理服务器的IP地址proxyPort是代理服务器的端口地址。我们有两种方法设置这种系统属性,一种是命令行下运行Java程序的时候,通过参数付值一种是在java源程序中设置。第一种方法的格式如下:java-DproxySet=true-DproxyHost=myProxyS
2、erver.come-DproxyPort=80MyJavaApp第二种方法,就是直接在源程序中通过系统属性来写,如下:importjava.util.Properties;......strProxy="221.15.5.67";strPort="8080";PropertiessystemProperties=System.getProperties;systemProperties.setProperty;systemProperties.setProperty;JDK1.3以上版本,只要设置了proxyHost和proxyPort就不用写proxyS
3、et了。下面是一个完整的例子: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));
4、while)!=null)rd.close;17.5.2使用ProxySelector选择代理服务器前面介绍的直接使用Proxy对象可以在打开URLConnection或Socket时指定代理服务器,使用这种方式需要每次打开连接都显式设置代理服务器。如果想让系统打开连接时总是具有默认的代理服务器,则可以使用java.net.ProxySelector,它可以它根据不同的连接使用不同的代理服务器。系统默认的ProxySelector会检测各种系统属性和URL协议,然后决定怎样连接不同的主机。当然,程序也可以调用ProxySelector类的setDefault
5、I()静态方法来设置默认代理服务器,也可以调用getDefault()方法获得系统当前默认的代理服务器。程序可以通过System类来设置系统的代理服务器属性,关于代理服务器常用的属性名有如下三个:http.proxyHost:设置HTTP访问所使用的代理服务器地址。该属性名的前缀可以改为https、ftp等,分别用于设置HTTP访问、安全HTTP访问和FTP访问所用的代理服务器地址。http.proxyPort:设置HTTP访问所使用的代理服务器端口。该属性名的前缀可以改为https、ftp等,分别用于设置HTTP访问、安全HTTP访问和FTP访问所用的代理
6、服务器端口。http.nonProxyHosts:设置HTTP访问中不需要使用代理服务器的远程主机,可以使用*通配符,如果有多个地址,多个地址用竖线(
7、)分隔。下面程序示范了通过改变系统属性来改变默认的代理服务器。程序清单:codes/17/17-5/ProxySelectorTest.javapublicclassProxySelectorTest{//测试本地JVM的网络默认配置publicvoidsetLocalProxy(){Propertiesprop=System.getProperties();//设置HTTP访问要使用的代理服务器的地址pro
8、p.setProperty("http.proxyHost","10.10.0.96");//设置HTTP访问要使用的代理服务器的端口prop.setProperty("http.proxyPort","8080");//设置HTTP访问不需要通过代理服务器访问的主机,//可以使用*通配符,多个地址用
9、分隔prop.setProperty("http.nonProxyHosts","localhost
10、10.20.*");//设置安全HTTP访问使用的代理服务器地址与端口//它没有https.nonProxyHosts属性,它按照http.nonProxyH
11、osts中设置的规则访问prop.setProper
此文档下载收益归作者所有