上海启嘟渡科技商贸有限公司
SEARCH

与我们合作

我们专注提供互联网一站式服务,助力企业品牌宣传多平台多途径导流量。
主营业务:网站建设、移动端微信小程序开发、营销推广、基础网络、品牌形象策划等

您也可通过下列途径与我们取得联系:

微 信: wxyunyingzhe

手 机: 15624122141

邮 箱:

使用JAVA请求需要Basic身份验证的网页

更新时间:2025-01-11 01:57:42

  通过JAVA抓取页面时 有些页面会返回 (Unauthorized)响应状态码和 authenticate响应头来要求客户端进行身份认证 这种认证有两种方式 BASIC和DIGEST BASIC验证要求客户端对用户名和密码进行BASE 编码后传送给服务器 DIGEST的认证方式的细节比较复杂 会经过一系列的加密 所以很难被破译

  JAVA提供一个用于启用身份认证的类 可以支持HTTP协议中的多个认证方式 这个类是 Authenticator 使用方法如下

  Java 代码

   package xixuyishi;

  

   import java io BufferedReader;

   import java io InputStream;

   import java io InputStreamReader;

   import Authenticator;

   import PasswordAuthentication;

   import URL;

  

   public class RunHttpSpnego {

  

   static final String kuser = username ; // 用户名

   static final String kpass = password ; // 密码

   static class MyAuthenticator extends Authenticator {

  

   @Override

   public PasswordAuthentication getPasswordAuthentication() {

   return (new PasswordAuthentication(kuser kpass toCharArray()));

   }

   }

  

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

   Authenticator setDefault(new MyAuthenticator());

   URL url = new URL(args[ ]);

   InputStream ins = url openConnection() getInputStream();

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

   String str;

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

   System out println(str);

   }

   }

lishixinzhi/Article/program/Java/hx/201311/26467

多重随机标签

猜你喜欢文章

QQ客服 电话咨询