`
NEO_ONE
  • 浏览: 46440 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java使用代理访问网络的几种方法

    博客分类:
  • Java
阅读更多

方法一使用系统属性来完成代理设置, 这种方法比较简单, 但是不能对单独的连接来设置代理:   

public static void main(String[] args) {        
   Properties prop = System.getProperties();        
   // 设置http访问要使用的代理服务器的地址        
   prop.setProperty("http.proxyHost", "192.168.0.254");        
   // 设置http访问要使用的代理服务器的端口        
   prop.setProperty("http.proxyPort", "8080");        
   // 设置不需要通过代理服务器访问的主机,可以使用*通配符,多个地址用|分隔        
   prop.setProperty("http.nonProxyHosts", "localhost|192.168.0.*");        
   // 设置安全访问使用的代理服务器地址与端口        
   // 它没有https.nonProxyHosts属性,它按照http.nonProxyHosts 中设置的规则访问        
   prop.setProperty("https.proxyHost", "192.168.0.254");        
   prop.setProperty("https.proxyPort", "443");        
   // 使用ftp代理服务器的主机、端口以及不需要使用ftp代理服务器的主机        
   prop.setProperty("ftp.proxyHost", "192.168.0.254");        
   prop.setProperty("ftp.proxyPort", "2121");        
   prop.setProperty("ftp.nonProxyHosts", "localhost|192.168.0.*");        
   // socks代理服务器的地址与端口        
   prop.setProperty("socksProxyHost", "192.168.0.254");        
   prop.setProperty("socksProxyPort", "8000");        
   // 设置登陆到代理服务器的用户名和密码        
   Authenticator.setDefault(new MyAuthenticator("userName", "Password"));
}    
static class MyAuthenticator extends Authenticator {        
   private String user = "";        
   private String password = "";        
   public MyAuthenticator(String user, String password) {            
      this.user = user;            
      this.password = password;        
   }        
   protected PasswordAuthentication getPasswordAuthentication() {            
      returnnew PasswordAuthentication(user, password.toCharArray());        
   }    
}
­

方法二使用Proxy来对每个连接实现代理, 这种方法只能在jdk 1.5以上的版本使用(包含jdk1.5), 优点是可以单独的设置每个连接的代理, 缺点是设置比较麻烦:

public static void main(String[] args) {        
  try {            
   URL url = new URL("http://www.baidu.com");            
   // 创建代理服务器            
   InetSocketAddress addr = new InetSocketAddress("192.168.0.254",8080);            
   Proxy proxy = new Proxy(Proxy.Type.HTTP, addr); // http 代理            
   // 如果我们知道代理server的名字, 可以直接使用          
   URLConnection conn = url.openConnection(proxy);            
   InputStream in = conn.getInputStream();  
   String s = IOUtils.toString(in);            
   System.out.println(s);        
} catch (Exception e) {            
   e.printStackTrace();        
}    
}

分享到:
评论

相关推荐

    java开源包4

    PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...

    JAVA上百实例源码以及开源项目

     Java编写的HTML浏览器源代码,一个很简单甚至不算是浏览器的HTML浏览器,使用方法:  可直接输入文件名或网络地址,但必需事先连入网络。 Java编写的山寨QQ,多人聊天+用户在线 21个目标文件 摘要:JAVA源码,...

    java开源包8

    PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...

    JAVA上百实例源码以及开源项目源代码

     Java编写的HTML浏览器源代码,一个很简单甚至不算是浏览器的HTML浏览器,使用方法:  可直接输入文件名或网络地址,但必需事先连入网络。 Java编写的山寨QQ,多人聊天+用户在线 21个目标文件 摘要:JAVA源码,...

    java开源包11

    PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...

    java开源包6

    PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...

    java开源包9

    PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...

    java开源包101

    PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...

    java开源包5

    PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...

    java开源包10

    PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...

    java开源包3

    PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...

    java开源包1

    PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...

    Java 基础核心总结 +经典算法大全.rar

    关于 null 的几种处理方式大小写敏感 null 是任何引用类型的初始值 null 只是-种特殊的值使用 Null-Safe 方法null 判断 关于思维导图 Java.IO Java.lang Java.math Java.net Java 基础核心总结 V2.0 IO 传统的 ...

    Java资源包01

    PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...

    java 面试题 总结

    它是基于Java的远程方法调用(RMI)技术的,所以EJB可以被远程访问(跨进程、跨计算机)。但EJB必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。EJB容器是...

    java开源包2

    PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...

    java面试800题

    Q0032 Oracle的集合操作函数,如sum(),avg(),max(),min(),与select,where,grouby,having的先后顺序,使用方法 Oracle集合查询基本知识,只有进行分组的列,才可以取在集合查询SQL语句中取字段,先Group By,再Having...

    java开源包7

    PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...

    java范例开发大全

    第1篇 Java编程基础 第1章 Java开发环境的搭建(教学视频:9分钟) 2 1.1 理解Java 2 1.2 搭建Java所需环境 3 1.2.1 下载JDK 3 ...实例290 LAN使用代理服务器 562 实例291 BBS论坛服务器端 567 实例292 ...

Global site tag (gtag.js) - Google Analytics