首页 电脑 电脑学堂 查看内容

Java程序如何穿透带有密码验证的代理

2006-2-7 02:39 769 0

摘要: 网上也有一些文章但是大多数涉及带有授权验证的proxy都有问题,主要问题就是出在对Authenticator.setDefault的使用,以及base64编码的问题上代码是最没有二义性的文档,实现原理...
关键词: nbsp String import java password username Authenticator setProperty System HttpURLConnectio

网上也有一些文章但是大多数涉及带有授权验证的proxy都有问题,主要问题就是出在对Authenticator.setDefault的使用,以及base64编码的问题上代码是最没有二义性的文档,实现原理不再解释,请看代码去体会。ackage  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  [email protected]*/ublic  class  ProxyConnTest  {ublic  static  void  initProxy(String  host,  int  port,  final  String  username,final  String  password)  {Authenticator.setDefault(new  Authenticator()  {rotected  PasswordAuthentication  getPasswordAuthentication()  {return  new  PasswordAuthentication(username,ew  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\");}ublic  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();}}  
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部