首页

URL通过代理proxy实现对网络Internet资源的访问

标签:代理,proxy,URLConnection,ccproxy,服务器,代理上网,Proxy,网络安全,URL     发布时间:2015-07-03   

前言

服务器出于安全或者资源有限在局域网内没有直接连接到Internet网络,不能直接通过java.net.URL定位网络资源时,我们需要通过设置java.net.URL指定代理服务器来进行代理上网。

代码示例

1.示例局域网不能上网的服务器先需要访问xwood首页地址,通过借助于局域网172.168.1.8主机(可以有网络访问权限)进行访问上网,在设置代理之前首先确保在172.168.1.8上面运行有代理服务器(如ccproxy,点击下载),并提前配置好代码端口,如下图所示

URL通过代理proxy实现对网络Internet资源的访问

2.下面代码为服务器端代理访问测试代码,具体如下:

import java.io.IOException;@b@import java.io.InputStream;@b@import java.net.MalformedURLException;@b@import java.net.URL;@b@import java.net.URLConnection;@b@import java.util.Properties;@b@@b@public class TestUrlProxy {@b@    public static void main(String[] args) {@b@        // TODO Auto-generated method stub@b@        String xwoodURL="http://www.xwood.net/index.html";@b@        //获取系统属性集合@b@        Properties prop=System.getProperties();@b@        //设置代理服务器地址@b@        prop.put("http.proxyHost", "172.168.1.8");@b@        //设置代理服务器端口@b@        prop.put("http.proxyPort", "808");@b@        try {@b@            URL url=new URL(xwoodURL);@b@            URLConnection conn;@b@            conn = url.openConnection();@b@            conn.connect();@b@            //获取网络资源大小@b@            System.out.println(conn.getContentLength());@b@            //获取网络资源的输入流读取信息@b@            InputStream is=conn.getInputStream();@b@            System.out.println("c:"+is.read());@b@            is.close();@b@        } catch (MalformedURLException e) {@b@            // TODO Auto-generated catch block@b@            e.printStackTrace();@b@        }catch (IOException e) {@b@            // TODO Auto-generated catch block@b@            e.printStackTrace();@b@        }@b@    }@b@@b@}