`
ytfei
  • 浏览: 86540 次
社区版块
存档分类
最新评论

转:java 使用代理

    博客分类:
  • Java
阅读更多

proxySet true
proxyHost xxxxx
proxyPort xxx
//如果代理需要验证,在http头中加入 "Basic " + "代理服务器用户名:密码"的Base64编码;
connection.setRequestProperty("Proxy-Authorization",
"Basic " + Encoder.base64Encode(user+":" + password));


Properties prop = System.getProperties();  
       // HTTP代理的IP设置  
       prop.setProperty("http.proxyHost", "10.28.0.254");  
       // HTTP代理的端口设置  
       prop.setProperty("http.proxyPort", "80");  
       //这里也可以设置不需要使用代理的地址  
       prop.setProperty("http.nonProxyHosts", "localhost|10.28.0.*");  
       //设置HTTPS安全访问的代理服务器地址与端口  
       prop.setProperty("https.proxyHost", "10.28.0.254");  
       prop.setProperty("https.proxyPort", "443");  
//对于安全访问的过滤地址属性同样是http.nonProxyHosts并没有https.nonProxyHosts  
 
       //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的类 
    public class MyAuthenticator extends Authenticator {  
     private String username = "";  
     private String password = "";  
     public MyAuthenticator(String username, String password) {  
         this.username = username;  
         this.password = password;  
     }  
     protected PasswordAuthentication getPasswordAuthentication() {  
         returnnew PasswordAuthentication(username, password.toCharArray());  
     }  
 }  
 
//设置登陆到代理服务器的用户名和密码  
Authenticator.setDefault(new MyAuthenticator("userName", "Password")); 


当然此种方法可以满足大部分的需求 但是有一定的局限行,
就是所有的连接通过统一属性进行代理配置的,不能对特定连接进行代理配置。

JDK5及其之后版本引入新的代理配置,可以满足对特定连接进行配置

URL url = new URL("http://www.shanhe114.com");  
       //创建代理服务器  
       InetSocketAddress addr = new InetSocketAddress("10.28.0.4",  
               8080);  
       //Proxy proxy = new Proxy(Proxy.Type.SOCKS, addr); //SOCKS代理  
       Proxy proxy = new Proxy(Proxy.Type.HTTP, addr); //HTTP代理  
       //其他方式可以见Proxy.Type属性  
       URLConnection conn = url.openConnection(proxy);  
       InputStream in = conn.getInputStream();  
       //InputStream in = url.openStream();  
       String content = IOUtils.toString(in);  
       System.out.println(content); 

分享到:
评论

相关推荐

    HTTPS 代理-SNI Proxy-WebSocket-Java

    HTTPS 代理-SNI Proxy-WebSocket 一直用sni proxy做...主要功能:HTTPS 转发、HTTPS反向代理、HTTP转HTTPS、HTTPS转HTTP 4。如果最后再加个参数”保存目录“,则所有转发的数据保存在该目录中,程序排错时比较有用

    C# To JAVA Converter v17.10.6

    使用Java泛型转换C#ref参数 当代码中定义事件委托时转换C#事件,或者是System.Action或System.Func代理之一 将所有类型的数组从C#转换成Java 对于继承和接口的所有方面,从C#到Java的无瑕疵转换 允许自定义替换...

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

     使用Java语言编写的一款用于反映颜色变化的面板,也就是大家熟悉的颜色调色板演示程序。原理是初始化颜色选择按钮,然后为颜色选择按钮增加事件处理事件,最后实例化颜色选择器。 Java二进制IO类与文件复制操作...

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

     使用Java语言编写的一款用于反映颜色变化的面板,也就是大家熟悉的颜色调色板演示程序。原理是初始化颜色选择按钮,然后为颜色选择按钮增加事件处理事件,最后实例化颜色选择器。 Java二进制IO类与文件复制操作...

    Domino_java代理实现FTP上传下载

    转;Domino_java代理实现FTP上传下载

    DragonProxy:允许Minecraft:Bedrock客户端连接到Minecraft:Java Edition服务器的代理

    允许Minecraft:Bedrock Edition客户端连接到Minecraft:Java Edition服务器的代理。 Bedrock 1.14.x // Java 1.15.2 统计资料 查看BStats的实时统计 到目前为止做了什么 请参阅的(几乎)完整列表。 建立 下载...

    JAVA_API1.6文档(中文)

    java.lang.instrument 提供允许 Java 编程语言代理检测运行在 JVM 上的程序的服务。 java.lang.management 提供管理接口,用于监视和管理 Java 虚拟机以及 Java 虚拟机在其上运行的操作系统。 java.lang.ref 提供...

    java开源包4

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

    Spring加载的:Java代理,可在运行中的JVM中重新加载类

    欢迎来到Spring满载 什么是弹簧加载? Spring Loaded是一个JVM代理,用于在JVM运行时重新加载类... 该下载是代理jar,使用前无需进一步解压缩。 重新加载运行 java -javaagent:<pathTo>/springloaded-{VERSION}.jar -

    java设计模式【之】Cglib动态代理【源码】【场景:帮爸爸买菜】

    * 在开发者的角度来看,创建一个代理对象,提供给用户使用,避免用户直接访问真正的对象 * 在用户角度来看,就是普通的类方法调用 * * 作用 * 1.保护被代理对象 * 2.增强被代理对象 * 3.完全替换被代理对象 ...

    Java 1.6 API 中文 New

    java.awt.im.spi 提供启用可以与 Java 运行时环境一起使用的输入方法开发的接口。 java.awt.image 提供创建和修改图像的各种类。 java.awt.image.renderable 提供用于生成与呈现无关的图像的类和接口。 java.awt....

    java开源包8

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

    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 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...

    tsdb-csf:OpenTSDB Java代理,用于实现JVM的收集,存储和转发

    CSF是一个Java库,用于提供结合以下实现的代理: 异步HTTP客户端,用于将指标发送到端点。 嵌入式CodaHale / DropWizard用于通过OpenTSDB友好度量标准扩展来收集和累积度量标准,以通过将本机平面度量标准格式转换...

Global site tag (gtag.js) - Google Analytics