`
moshangchenzi
  • 浏览: 51629 次
  • 性别: Icon_minigender_1
  • 来自: 南宁
社区版块
存档分类
最新评论

JDK6.0学习笔记(十六)登陆需要认证的站点

阅读更多
  1. /**
  2.  * 登陆需要认证的站点
  3.  * 输入命令  http://127.0.0.1 user password 
  4.  * */
  5. import java.io.PrintWriter;
  6. import java.io.InputStream;
  7. import java.io.InputStreamReader;
  8. import java.io.BufferedReader;
  9. import java.io.StringWriter;
  10. import java.io.IOException;
  11. import java.net.URL;
  12. import java.net.Authenticator;
  13. import java.net.PasswordAuthentication;
  14. import java.net.MalformedURLException;
  15. public class TestAuthenticator {
  16.     public static void main(String[] args) {
  17.         Authenticator.setDefault(new MyAuthenticator(args[1], args[2]));//获取用户名和密码
  18.         System.out.println(new TestAuthenticator().fetchURL(args[0]));
  19.     }
  20.     private String fetchURL(String urlString) {//读出网站内容
  21.         StringWriter sw = new StringWriter();
  22.         PrintWriter pw = new PrintWriter(sw);
  23.         try {
  24.             URL url = new URL(urlString);
  25.             InputStream content = (InputStream) url.getContent();
  26.             BufferedReader in = new BufferedReader(new InputStreamReader(
  27.                     content));
  28.             String line;
  29.             while ((line = in.readLine()) != null) {
  30.                 pw.println(line);
  31.             }
  32.         } catch (MalformedURLException e) {
  33.             pw.println("URL无效");
  34.         } catch (IOException e) {
  35.             pw.println("读取URL资源时出错");
  36.         }
  37.         return sw.toString();
  38.     }
  39. }
  40. class MyAuthenticator extends Authenticator {//Authenticator类
  41.     private String user = null;
  42.     private String password = null;
  43.     public MyAuthenticator(String user, String password) {
  44.         this.user = user;
  45.         this.password = password;
  46.     }
  47.     protected PasswordAuthentication getPasswordAuthentication() {//返回的PasswordAuthentication对象中给出用户名和密码
  48.         char[] ch = new char[this.password.length()];
  49.         password.getChars(0this.password.length(), ch, 0);
  50.         return new PasswordAuthentication(this.user, ch);
  51.     }
  52. }
 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics