通行证: 用户 密码 域名空间  下载中心 社区论坛 信息公告 MY小屋
联系我们
设为首页
加入收藏

 

QQ,ASP,PHP,JSP,XML,SQL,.Net,编程 程序 网页图象 建站经验 私服
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿
论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图
专题 | 应用软件 | 聊天通讯 | Q Q 专栏 | 建站经验 | 在线工具 | 站长Club | 注 册 表 | 旧版
社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 韩国素材 | 素材图库 | 广告服务 | 服务
当前位置:首页>>编程开发>>VB编程>>正文 新版上线![旧版]
注:打开慢时请稍等

J2SE5.0新特性之使用代理服务器

http://www.iyit.net  日期:2006-7-27 16:03:44  来源:  点击:
参加讨论
  J2SE1.5也被称为J2SE5.0,在5.0以前的代理服务器设置挺不友好,现在,5.0提供了对通过代理服务器的更加灵活的控制,它可以对http,https,ftp,socks等分别设置,而且还可以设置不需要通过代理服务器的主机和地址。这和我们在IE、firefox中设置代理服务器类似。

  1.你可以在通过java -DXXXX=YYYY方式在程序启动时设置,你也可以在程序中将设置放入系统属性中,你也可以设置Proxy类,通过它来控制。

  2.可以通过ProxySelector来做自己的代理服务器的负载平衡等。

  package com.kuaff.jdk5package;

  import java.io.IOException;
  import java.io.InputStream;
  import java.net.InetSocketAddress;
  import java.net.MalformedURLException;
  import java.net.Proxy;
  import java.net.ProxySelector;
  import java.net.SocketAddress;
  import java.net.URI;
  import java.net.URISyntaxException;
  import java.net.URL;
  import java.net.URLConnection;
  import java.util.List;
  import java.util.Properties;

  public class NetProxy
  {
  // 测试本地JVM的网络缺省配置
  public void setLocalProxy()
  {
  Properties prop = System.getProperties();
  //设置http访问要使用的代理服务器的地址
  prop.setProperty("http.proxyHost", "10.10.0.96");
  //设置http访问要使用的代理服务器的端口
  prop.setProperty("http.proxyPort", "8080");
  //设置不需要通过代理服务器访问的主机,可以使用*通配符,多个地址用|分隔
  prop.setProperty("http.nonProxyHosts", "localhost|10.10.*");

  //设置安全访问使用的代理服务器地址与端口
  //它没有https.nonProxyHosts属性,它按照http.nonProxyHosts 中设置的规则访问
  prop.setProperty("https.proxyHost", "10.10.0.96");
  prop.setProperty("https.proxyPort", "443");

  //使用ftp代理服务器的主机、端口以及不需要使用ftp代理服务器的主机
  prop.setProperty("ftp.proxyHost", "10.10.0.96");
  prop.setProperty("ftp.proxyPort", "2121");
  prop.setProperty("ftp.nonProxyHosts", "localhost|10.10.*");

  //socks代理服务器的地址与端口
  prop.setProperty("socksProxyHost", "10.10.0.96");
  prop.setProperty("socksProxyPort", "1080");
  }

  // 清除proxy设置
  public void removeLocalProxy()
  {
  Properties prop = System.getProperties();
  prop.remove("http.proxyHost");
  prop.remove("http.proxyPort");
  prop.remove("http.nonProxyHosts");

  prop.remove("https.proxyHost");
  prop.remove("https.proxyPort");

  prop.remove("ftp.proxyHost");
  prop.remove("ftp.proxyPort");
  prop.remove("ftp.nonProxyHosts");

  prop.remove("socksProxyHost");
  prop.remove("socksProxyPort");
  }

  //

  // 测试http
  public void showHttpProxy(Object... proxy)
  {
  URL url = null;
  try
  {
  url = new URL("http://blog.csdn.com/smallnest");
  }
  catch (MalformedURLException e)
  {
  return;
  }
  try
  {
  URLConnection conn = null;
  switch (proxy.length)
  {
  case 0:
  conn = url.openConnection();
  break;
  case 1:
  conn = url.openConnection((Proxy) proxy[0]);
  break;
  default:
  break;
  }

  if (conn == null)
  return;

  conn.setConnectTimeout(3000); // 设置连接超时时间
  InputStream in = conn.getInputStream();
  byte[] b = new byte[1024];
  try
  {
  while (in.read(b) > 0)
  {
  System.out.println(new String(b));
  }
  }
  catch (IOException e1)
  {
  }
  }
  catch (IOException e1)
  {
  e1.printStackTrace();
  }

  }

  // 测试ftp
  public void showFtpProxy(Object... proxy)
  {
  URL url = null;
  try
  {
  url = new URL("ftp://ftp.tsinghua.edu.cn");
  }
  catch (MalformedURLException e)
  {
  return;
  }
  try
  {
  URLConnection conn = null;
  switch (proxy.length)
  {
  case 0:
  conn = url.openConnection();
  break;
  case 1:
  conn = url.openConnection((Proxy) proxy[0]);
  break;
  default:
  break;
  }

  if (conn == null)
  return;

  conn.setConnectTimeout(3000); // 设置连接超时时间
  InputStream in = conn.getInputStream();
  byte[] b = new byte[1024];
  try
  {
  while (in.read(b) > 0)
  {
  System.out.println(new String(b));
  }
  }
  catch (IOException e1)
  {
  }
  }
  catch (IOException e1)
  {
  e1.printStackTrace();
  }

  }

  // 得到一个proxy
  public Proxy getProxy(Proxy.Type type, String host, int port)
  {
  SocketAddress addr = new InetSocketAddress(host,port);
  Proxy typeProxy = new Proxy(type, addr);
  return typeProxy;
  }

  public static void main(String[] args)
  {
  NetProxy proxy = new NetProxy();
  //测试代理服务器
  proxy.setLocalProxy();
  proxy.showHttpProxy();

  //下面两行是清除系统属性,而通过Proxy类指定代理服务器
  // proxy.removeLocalProxy
  //proxy.showHttpProxy(proxy.getProxy(Proxy.Type.SOCKS,"10.10.0.96",1080));


  }
  }
  • 2005年3月25日



  • 编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部]
    上一篇:Java数据对象技术JDO
    下一篇:J2SE5.0新特性之ProcessBuilder
    转载请注明来源:www.iyit.net
    特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

     相关文章
    Java服务器端编程安全必读 用Java实现FTP服务器解决方案 如何在服务器上保存一定时间的信息
    利用asp+的独特的底层操作的功能实现对 查看服务器磁盘、文件的aspx 如何使用C#访问POP3服务器
    多中WEB服务器的通用JSp源代码暴露漏洞 WebSphere应用服务器 安装 WebSphere应用服务器
    Resin服务器平台介绍简介 在Linux上架设支持JSP+PHP的Web服务器 Apache服务器之JSP概述篇
    WIN98/2000下的jsp服务器 让你的IIS服务器支持JSP JSP由浅入深(1)—— 熟悉JSP服务器
    用session代替apache服务器验证 在服务器上安装、使用MySQL的注意事项 php3:跨平台的服务器端嵌入式脚本语言
    配置最新的PHP加MYSQL服务器 apache+mysql+php+ssl服务器之完全安装 PHP在XP下IIS和Apache2服务器上的安装
    PHP4在WinXP下IIS和Apache2服务器上的安 PHP程序与服务器端通讯方法小结 PHP程序与服务器端通讯的方法
    最新更新 热点排行 推荐新闻
    [JAVA]十四种Java开发工具点评
    初学java常用开发工具介绍
    Java编程中更新XML文档的常用方法
    用Java实现HTTP文件队列下载
    Singleton在Java中的应用
    [JAVA]十四种Java开发工具点评
    初学java常用开发工具介绍
    Java编程中更新XML文档的常用方法
    用Java实现HTTP文件队列下载
    Singleton在Java中的应用
    Java学习从入门到精通 4方法篇
    Java学习从入门到精通 2书籍篇
    Java学习从入门到精通 3过程篇
    [基础知识]JAVA是什么
    Java学习从入门到精通 1工具篇
    [JAVA]十四种Java开发工具点评
    初学java常用开发工具介绍
    Java编程中更新XML文档的常用方法
    用Java实现HTTP文件队列下载
    Singleton在Java中的应用
    编程解决注册表问题所需的函数详解
    VB.NET注册表编程
    盛大龙与地下城1万人内测 双核用户先行
    Illustrator CS模板应用
    在VB中使用注册表
    微软7月将发布七款补丁 将涉及到Windo
    用VB函数轻松访问系统注册表
    在VB中调用API操作注册表
    韩国网站FLASH效果动画源码源文件
    利用WindowsAPI函数和注册表获取系统信
    直接编辑VB中网格控制项的两种方法
    在ASP.net中保存/取出图片入/从SQL数据
    一个.net 压缩位图至JPEG的代码
    制服流氓:27种恶意软件安装卸载实录
    不止上网 IE地址栏的妙用
    入侵中国某大型商业网站服务器全记录
    IRC波特病毒出变种 黑客可远程控制电脑
    传AMD与ATI合并已谈妥 对中国影响不大
    金山PK网易 网游核心开发人员相互跳槽
    英特尔公开与AMD翻脸 “口水战”升级
    共享软件的十大破解工具推荐
     友情链接
    设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
    Copyrights © 2004-2006 iYiT.Net All Rights Reserved.
    网站合作、广告联系QQ:147007642、466949678
    易特网络技术 点击这里给我发消息