使用JAVA请求需要Basic身份验证的网页
2014-04-10 10:14
330 查看
这种认证有两种方式:BASIC和DIGEST,BASIC验证要求客户端对用户名和密码进行BASE64编码后传送给服务器。DIGEST的认证方式的细节比较复杂,会经过一系列的加密,所以很难被破译。
JAVA提供一个用于启用身份认证的类,可以支持HTTP协议中的多个认证方式,这个类是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.}
JAVA提供一个用于启用身份认证的类,可以支持HTTP协议中的多个认证方式,这个类是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.}
相关文章推荐
- Java中,使用HTTP Basic进行验证
- Java使用HttpsURLConnection进行Get和Post请求(绕过证书验证)
- 使用JAVA进行ad域身份验证常用属性详解
- 使用restful请求https身份不通过, unable to find valid certification path to requested target,使用java生成签名证书
- 使用java完成ldap身份验证
- webservice使用windows身份验证,ajax请求报错401未授权的解决办法
- ASP下使用CDO.Message实现需要身份验证的邮件发送
- 这是一个秒杀系统,即大量用户抢有限的商品,先到先得 用户并发访问流量非常大,需要分布式的机器集群处理请求 系统实现使用Java
- 使用java完成ldap身份验证
- 让微软企业库中的Email Trace Listener使用需要身份验证的SMTP服务器
- 解决JAVA请求HTTPS接口需要验证问题
- VS2015使用技巧 写框架网页 需要将验证方式改为 XHTML 1.0 Frameset
- 在 Java 客户端中使用 SSL 身份验证
- 使用AXIS调用需要身份验证的WebService
- 无责任Windows Azure SDK .NET开发入门篇二[使用Azure AD 进行身份验证--2.1使用Azure AD需要了解几个概念]
- VS2015使用技巧 写框架网页 需要将验证方式改为 XHTML 1.0 Frameset
- 使用telnet登陆smtp服务发邮件(带身份验证)和Base64加密算法源码(java版)
- HTTP 请求未经客户端身份验证方案“Anonymous”授权。从服务器收到的身份验证标头为“Basic realm=xxxxx”
- 使用“成员资格管理用户”以及“Forms 身份验证提供程序”保护需要授权才能访问的资源
- 使用客户端身份验证方案“Anonymous”禁止 HTTP 请求"错误