您可以在这里快速查找:


 
您的位置: 编程学习 > java教程 > 200511
文章分类

Java技术
2005: 03 04 05 06 07 08
09 10 11 12
2006: 01 02

Asp.net
2005: 07 08 09 10 11 12
2006: 01 02

VB编程
2006: 02

Asp编程
2005: 11 12
2006: 01 02

C++/VC
2005: 10 11 12
2006: 01 02

Delphi
2005: 12
2006: 01 02

其它

 本文章适合所有读者

Java中通过代理服务器(proxy)访问网络

cqq

Java中通过代理服务器(proxy)访问网络

 


在Java中,使用proxy是通过设置java环境变量来实现的,也就是JVM的系统属性。

我们需要设置三个属性,proxySet proxyHost和proxyPort。

proxySet 是个boolean类型的,可以设置为true或者false,true代表使用代理服务器。

proxyHost 是代理服务器的IP地址

proxyPort 是代理服务器的端口地址。


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

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

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


第一种方法的格式如下:

java -DproxySet=true -DproxyHost=myProxyServer.come -DproxyPort=80 MyJavaApp


第二种方法,就是直接在源程序中通过系统属性来写,如下:

import java.util.Properties;
...
...

strProxy="221.15.5.67";
strPort="8080";
Properties systemProperties = System.getProperties();
systemProperties.setProperty("http.proxyHost",strProxy);
systemProperties.setProperty("http.proxyPort",strPort);

JDK1.3以上版本,只要设置了proxyHost和proxyPort就不用写proxySet了。


下面是一个完整的例子:


strUrl="http://blog.csdn.net/cqq/";
URL url = new URL(strUrl);
URLConnection conn = url.openConnection();

strProxy="221.15.5.67";
strPort="8080";
Properties systemProperties = System.getProperties();
systemProperties.setProperty("http.proxyHost",strProxy);
systemProperties.setProperty("http.proxyPort",strPort);


BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));

while ((ss=rd.readLine())!=null)
{
 System.out.println(ss);
}
rd.close();