• <sub id="h4knl"><ol id="h4knl"></ol></sub>
    <sup id="h4knl"></sup>
      <sub id="h4knl"></sub>

      <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
      1. <strong id="h4knl"></strong>

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

        時(shí)間:2024-09-25 04:15:44 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的類,并且重寫其中的getPasswordAuthentication()方法,將用戶名和密碼放入方法中,這樣在需要使用身份認(rèn)證的地方實(shí)現(xiàn)這個(gè)類就可以了。

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

        網(wǎng)頁(yè)美工需要掌握哪些電腦常識(shí)03-18

        網(wǎng)頁(yè)美工設(shè)計(jì)需要注意的細(xì)節(jié)03-13

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

        談?wù)劸W(wǎng)頁(yè)美工設(shè)計(jì)需要注意的三大細(xì)節(jié)03-20

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

        日語(yǔ)語(yǔ)法之請(qǐng)求的表達(dá)03-09

        網(wǎng)頁(yè)美工必備的知識(shí):網(wǎng)頁(yè)設(shè)計(jì)命名規(guī)范03-18

        學(xué)習(xí)Java的技巧03-05

        java習(xí)題及答案03-26

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码
      3. <sub id="h4knl"><ol id="h4knl"></ol></sub>
        <sup id="h4knl"></sup>
          <sub id="h4knl"></sub>

          <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
          1. <strong id="h4knl"></strong>

          2. 亚洲欧美日韩一区在线观看 | 中国性色在线视频 | 亚洲线精品一区二区三区 | 亚洲一级在线免费视频 | 日韩亚洲欧美中文字幕影音 | 特级黄国产片一级视频播放 |