亚洲一级免费看,特黄特色大片免费观看播放器,777毛片,久久久久国产一区二区三区四区,欧美三级一区二区,国产精品一区二区久久久久,人人澡人人草

SUN認(rèn)證

JAVA請(qǐng)求需要Basic身份驗(yàn)證的網(wǎng)頁(yè)

時(shí)間:2024-10-22 19:42:36 SUN認(rèn)證 我要投稿
  • 相關(guān)推薦

關(guān)于JAVA請(qǐng)求需要Basic身份驗(yàn)證的網(wǎng)頁(yè)

  通過(guò)JAVA抓取頁(yè)面時(shí),有些頁(yè)面會(huì)返回401(Unauthorized)響應(yīng)狀態(tài)碼和www-authenticate響應(yīng)頭來(lái)要求客戶端進(jìn)行身份認(rèn)證。這種認(rèn)證有兩種方式:BASIC和DIGEST,BASIC驗(yàn)證要求客戶端對(duì)用戶名和密碼進(jìn)行BASE64編碼后傳送給服務(wù)器。DIGEST的認(rèn)證方式的細(xì)節(jié)比較復(fù)雜,會(huì)經(jīng)過(guò)一系列的加密,所以很難被破譯。

  JAVA提供一個(gè)用于啟用身份認(rèn)證的類,可以支持HTTP協(xié)議中的多個(gè)認(rèn)證方式,這個(gè)類是java.net.Authenticator,使用方法如下:

  Java 代碼

  1.package com.xixuyishi;

  2.

  3.import java.io.BufferedReader;

  4.import java.io.InputStream;

  5.import java.io.InputStreamReader;

  6.import java.net.Authenticator;

  7.import java.net.PasswordAuthentication;

  8.import java.net.URL;

  9.

  10.public 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, kpass.toCharArray()));

  19. }

  20. }

  21.

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

  23. Authenticator.setDefault(new MyAuthenticator());

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

  25. InputStream ins = url.openConnection().getInputStream();

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

  27. String str;

  28. while ((str = reader.readLine()) != null)

  29. System.out.println(str);

  30. }

  31.}

  只需要?jiǎng)?chuàng)建一個(gè)繼續(xù)自Authenticator的類,并且重寫(xiě)其中的getPasswordAuthentication()方法,將用戶名和密碼放入方法中,這樣在需要使用身份認(rèn)證的地方實(shí)現(xiàn)這個(gè)類就可以了。

【JAVA請(qǐng)求需要Basic身份驗(yàn)證的網(wǎng)頁(yè)】相關(guān)文章:

如何透過(guò)客戶表面請(qǐng)求來(lái)滿足其實(shí)質(zhì)需要05-21

PHP如何通過(guò)會(huì)話控制實(shí)現(xiàn)身份驗(yàn)證08-19

Java與Java web的區(qū)別08-22

無(wú)線網(wǎng)絡(luò)身份驗(yàn)證故障問(wèn)題10-17

Java與Java web有什么不同01-22

AJAX請(qǐng)求類實(shí)例代碼10-10

jquery異步請(qǐng)求的實(shí)例代碼09-10

告訴你網(wǎng)頁(yè)標(biāo)題標(biāo)簽設(shè)置需要注意的四點(diǎn)要求10-25

java學(xué)習(xí)技巧10-21

學(xué)習(xí)java技巧09-13