网上也有一些文章但是大多数涉及带有授权验证的proxy都有问题,
主要问题就是出在对 Authenticator.setDefault的使用,以及base64编码的问题上
代码是最没有二义性的文档,实现原理不再解释,请看代码去体会。
如果转载请注明代码出处。
Java sample codes that access outer internet through proxy which require username and password .Use inner instead of extends is the most different
chimae@cnjsp.org
package org.chimae.net;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.Authenticator;import java.net.HttpURLConnection;import java.net.PasswordAuthentication;import java.net.URL;/** * @author chimae@cnjsp.org */public class ProxyConnTest { public static void initProxy(String host, int port, final String username, final String password) { Authenticator.setDefault(new Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(username, new String(password).toCharArray()); } }); System.setProperty("http.proxyType", "4"); System.setProperty("http.proxyPort", Integer.toString(port)); System.setProperty("http.proxyHost", host); System.setProperty("http.proxySet", "true"); } public static void main(String[] args) throws IOException { String url = "http://java.sun.com/"; String proxy = "yourProxy"; int port =8080; String username ="username"; String password ="password"; String curLine = ""; String content = ""; URL server = new URL(url); initProxy(proxy,port,username,password); HttpURLConnection connection = (HttpURLConnection)server.openConnection(); connection.connect(); InputStream is = connection.getInputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(is)); while ((curLine = reader.readLine()) != null) { content += curLine; } System.out.println("content= " + content); is.close(); }}
分享到:
相关推荐
java程序如何穿透带有密码验证的代理
java根据用户名和密码验证邮箱是否有效 压缩文件里包含mail.jar包
c#调用java带身份验证webservice
HTTP代理服务器java 简单网站过滤
Java 实现免费代理IP的获取方式 并动态实时校验是否有效,java文件项目内含有Jsoup的Jar包(Jsoup是加工过的,含请求),有2个主入口程序: 其一:用于请求代理IP,并立即校验是否是一个有效的代理IP,如果有效,...
Java实现的带密码压缩与解压zip文件源码,可将多个文件使用不同的密码压进同一个zip文件;可以解压带密码的zip文件(store压缩模式)
javamvc实现登录验证注册验证的小程序
一个java实现的密码强度验证, 带图片的
用Java实现的UDP穿透NAT技术,内有详细的注释,完全可以自己看懂的
使用google身份验证器实现动态密码验证,采用JAVA语言。包含客户端和服务端key的生成和app动态口令的验证
本习题集收集了Java程序编写常见问题,并以习题形式总结和归纳Java程序设计知识要点,同时兼顾了SCJP(Sun公司 Java程序员认证考试),从而降低学习难度,减少编写程序出现错误的枘地,也便于掌握各个知识要点或测试...
Java socket编写客户端、服务器,客户端发送id和密码,服务器连接数据库验证
Java解压RAR文件,压缩包内包含源码、Jar包、依赖包和示例程序,也可以从http://code.google.com/p/java-unrar/downloads/list这里下载支持密码的unrar项目(包括源码和jar包),其依赖包也很容易搜到。
自己写的一小段Java程序,让程序按条件自动重新启动,3个文件都是.java文件,程序不包含包信息,可以放到C盘直接进行编译运行,其中Test是运行主程序,watch是监视检测线程
验证AD域用户登录 ,传入用户名(userName)和密码(password)进行验证。
基于 Java Netty实现的可用于内网穿透的代理工具.zip基于 Java Netty实现的可用于内网穿透的代理工具.zip基于 Java Netty实现的可用于内网穿透的代理工具.zip基于 Java Netty实现的可用于内网穿透的代理工具.zip基于...
通过微信小程序接口,生成带参数的二维码,并下载之本地返回二维码图片地址
Java程序设计与项目实践配套光盘
雍俊海 Java程序设计教程 第二版答案(代码部分)
HTTP代理穿透方法