位置: 首頁 > IT認證 > SUN認證

關於JAVA請求需要Basic身份驗證的網頁

2016-11-18 SUN認證

通過JAVA抓取頁面時,有些頁面會返回401(Unauthorized)響應狀態碼和www-authenticate響應頭來要求客戶端進行身份認證。這種認證有兩種方式:BASIC和DIGEST,BASIC驗證要求客戶端對使用者名稱和密碼進行BASE64編碼後傳送給服務器。DIGEST的認證方式的細節比較複雜,會經過一系列的加密,所以很難被破譯。

JAVA提供一個用於啟用身份認證的類,可以支援HTTP協議中的.多個認證方式,這個類是enticator,使用方法如下:

Java 程式碼

age yishi;

2.

rt eredReader;

rt tStream;

rt tStreamReader;

rt enticator;

rt wordAuthentication;

rt ;

9.

ic class RunHttpSpnego {

11.

12. static final String kuser = "username"; // 使用者名稱

13. static final String kpass = "password"; // 密碼

14. static class MyAuthenticator extends Authenticator {

15.

16. @Override

17. public PasswordAuthentication getPasswordAuthentication() {

18. return (new PasswordAuthentication(kuser, arArray()));

19. }

20. }

21.

22. public static void main(String[] args) throws Exception {

23. efault(new MyAuthenticator());

24. URL url = new URL(args[0]);

25. InputStream ins = Connection()nputStream();

26. BufferedReader reader = new BufferedReader(new InputStreamReader(ins));

27. String str;

28. while ((str = Line()) != null)

29. tln(str);

30. }

31.}

只需要建立一個繼續自Authenticator的類,並且重寫其中的getPasswordAuthentication()方法,將使用者名稱和密碼放入方法中,這樣在需要使用身份認證的地方實現這個類就可以了。

標籤:身份驗證 JAVA basic 網頁
2014-11-17
2014-12-07
2015-01-09
2016-02-25
2014-12-11
2019-09-15
2014-11-20
2017-02-20
2016-10-21
2014-12-11

Copyright ©2024 才華齋 All Rights Reserved.