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();

你可能感兴趣的:(java,jvm,.net,Blog)