2022年java代理服务器设置方法 .pdf

上传人:Che****ry 文档编号:34263915 上传时间:2022-08-15 格式:PDF 页数:4 大小:52.26KB
返回 下载 相关 举报
2022年java代理服务器设置方法 .pdf_第1页
第1页 / 共4页
2022年java代理服务器设置方法 .pdf_第2页
第2页 / 共4页
点击查看更多>>
资源描述

《2022年java代理服务器设置方法 .pdf》由会员分享,可在线阅读,更多相关《2022年java代理服务器设置方法 .pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、在 Java中,使用proxy 是通过设置java 环境变量来实现的,也就是JVM 的系统属性。我们需要设置三个属性,proxySetproxyHost 和 proxyPort 。proxySet 是个 boolean 类型的,可以设置为true 或者 false,true 代表使用代理服务器。proxyHost 是代理服务器的IP地址proxyPort 是代理服务器的端口地址。我们有两种方法设置这种系统属性,一种是命令行下运行Java程序的时候,通过参数付值一种是在 java 源程序中设置。第一种方法的格式如下:java-DproxySet=true-DproxyHost=myProxySe

2、-DproxyPort=80MyJavaApp第二种方法,就是直接在源程序中通过系统属性来写,如下:importjava.util.Properties;.strProxy=221.15.5.67;strPort=8080;PropertiessystemProperties=System.getProperties;systemProperties.setProperty;systemProperties.setProperty;JDK1.3以上版本,只要设置了proxyHost 和 proxyPort 就不用写proxySet 了。下面是一个完整的例子:strUrl=http:/ - -

3、-精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 4 页 - - - - - - - - - URLConnectionconn=url.openConnection;strProxy=221.15.5.67;strPort=8080;PropertiessystemProperties=System.getProperties;systemProperties.setProperty;systemProperties.setProperty;BufferedReaderrd=newBuffer

4、edReader);while)!=null)rd.close;17.5.2使用 ProxySelector选择代理服务器前面介绍的直接使用Proxy 对象可以在打开URLConnection 或 Socket 时指定代理服务器,使用这种方式需要每次打开连接都显式设置代理服务器。如果想让系统打开连接时总是具有默认的代理服务器,则可以使用.ProxySelector,它可以它根据不同的连接使用不同的代理服务器。系统默认的 ProxySelector会检测各种系统属性和URL协议,然后决定怎样连接不同的主机。当然,程序也可以调用ProxySelector类的 setDefaultI()静态方法来设

5、置默认代理服务器,也可以调用getDefault()方法获得系统当前默认的代理服务器。程序可以通过System 类来设置系统的代理服务器属性,关于代理服务器常用的属性名有如下三个:http.proxyHost:设置HTTP访问所使用的代理服务器地址。该属性名的前缀可以改为https 、ftp等,分别用于设置HTTP访问、安全HTTP访问和 FTP访问所用的代理服务器地址。http.proxyPort:设置HTTP访问所使用的代理服务器端口。该属性名的前缀可以改为https 、ftp等,分别用于设置HTTP访问、安全HTTP访问和 FTP访问所用的代理服务器端口。名师资料总结 - - -精品资料

6、欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 4 页 - - - - - - - - - http.nonProxyHosts:设置HTTP访问中不需要使用代理服务器的远程主机,可以使用*通配符,如果有多个地址,多个地址用竖线( | )分隔。下面程序示范了通过改变系统属性来改变默认的代理服务器。程序清单: codes/17/17-5/ProxySelectorTest.javapublicclassProxySelectorTest/测试本地 JVM 的网络默认配置publicvoidsetLocal

7、Proxy()Propertiesprop= System.getProperties();/设置 HTTP 访问要使用的代理服务器的地址prop.setProperty(http.proxyHost,10.10.0.96);/设置 HTTP 访问要使用的代理服务器的端口prop.setProperty(http.proxyPort,8080);/设置 HTTP 访问不需要通过代理服务器访问的主机,/可以使用 * 通配符,多个地址用| 分隔prop.setProperty(http.nonProxyHosts,localhost|10.20.*);/设置安全 HTTP 访问使用的代理服务器地址

8、与端口/它没有 https.nonProxyHosts属性,它按照http.nonProxyHosts中设置的规则访问prop.setProperty(https.proxyHost,192.168.0.96);prop.setProperty(https.proxyPort,443);/设置 FTP 访问的代理服务器的主机、端口以及不需要使用代理服务器的主机prop.setProperty(ftp.proxyHost,10.10.0.96);prop.setProperty(ftp.proxyPort,2121);prop.setProperty(ftp.nonProxyHosts,loca

9、lhost|10.10.*);/设置 socks代理服务器的地址与端口prop.setProperty(socks.ProxyHost,10.10.0.96);prop.setProperty(socks.ProxyPort,1080);/清除 proxy设置publicvoidremoveLocalProxy()Propertiesprop= System.getProperties();/清除 HTTP 访问的代理服务器设置prop.remove(http.proxyHost);prop.remove(http.proxyPort);prop.remove(http.nonProxyHos

10、ts);/清除 HTTPS 访问的代理服务器设置prop.remove(https.proxyHost);prop.remove(https.proxyPort);/清除 FTP 访问的代理服务器设置prop.remove(ftp.proxyHost);prop.remove(ftp.proxyPort);prop.remove(ftp.nonProxyHosts);/清除 SOCKS的代理服务器设置prop.remove(socksProxyHost);prop.remove(socksProxyPort);/测试 HTTP 访问publicvoidshowHttpProxy()throws

11、MalformedURLException,IOException名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 4 页 - - - - - - - - - URL url= newURL( http:/);/直接打开连接,但系统会调用刚设置的HTTP 代理服务器URLConnectionconn= url.openConnection();/Scannerscan= newScanner(conn.getInputStream();/读取远程主机的内容while(sca

12、n.hasNextLine()System.out.println(scan.nextLine();publicstaticvoidmain(Stringargs)throwsIOExceptionProxySelectorTesttest= newProxySelectorTest();test.setLocalProxy();test.showHttpProxy();test.removeLocalProxy();上面程序中三行粗体字代码设置Java 打开 HTTP访问时的代理服务器属性,其中前两行代码设置代理服务器的地址和端口,第三行代码设置该代理HTTP访问哪些主机时不需要使用代理服务

13、器。上面程序的行代码处直接打开一个URLConnection,但系统会为打开该URLConnection 时使用代理服务器。运行上面程序,将会看到程序长时间等待,因为192.168.0.96通常并不是有效的代理服务器(当然,如果读者运行的机器恰好可以使用地址为192.168.0.96的代理服务器又另当别论)。系统提供了默认的ProxySelector子类作为代理选择器,开发者可以实现自己的代理选择器,程序可以通过继承ProxySelector来实现自己的代理选择器。继承ProxySelector需要重写两个方法:Listselect(URIuri) :实现该方法让代理选择器根据不同的URI来使

14、用不同的代理服务器,该方法就是代理选择器管理网络连接使用代理服务器的关键。connectFailed(URIuri,SocketAddresssa,IOExceptionioe) :当系统通过默认的代理服务器建立连接失败后,代理选择器将会自动调用该方法。通过重写该方法可以对连接代理服务器失败的情形进行处理。系统默认的代理服务器选择器也重写了connectFailed方法,它重写该方法的处理策略是:当系统设置的代理服务器失败时,默认代理选择器将会采用直连的方式连接远程资源,所以当运行上面程序等待了足够长时间时,程序依然可以打印出该远程资源的所有内容。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 4 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁