|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
对于开发环境的选择尽量要轻量级和高度可定制,航空母舰级别的工具往往会让你迷惑不解;
经由过程JAVA抓取页面时,有些页面会前往401(Unauthorized)呼应形态码和www-authenticate呼应头来请求客户端举行身份认证。这类认证有两种体例:BASIC和DIGEST,BASIC考证请求客户端对用户名和暗码举行BASE64编码后传送给服务器。DIGEST的认证体例的细节对照庞大,会经由一系列的加密,以是很难被破译。
JAVA供应一个用于启用身份认证的类,能够撑持HTTP协定中的多个认证体例,这个类是java.net.Authenticator,利用办法以下:
packagecom.xixuyishi;
importjava.io.BufferedReader;
importjava.io.InputStream;
importjava.io.InputStreamReader;
importjava.net.Authenticator;
importjava.net.PasswordAuthentication;
importjava.net.URL;
publicclassRunHttpSpnego{
staticfinalStringkuser="username";//用户名
staticfinalStringkpass="password";//暗码
staticclassMyAuthenticatorextendsAuthenticator{
@Override
publicPasswordAuthentication
getPasswordAuthentication(){
return(newPasswordAuthentication(kuser,
kpass.toCharArray()));
}
}
publicstaticvoidmain(String[]args)throwsException{
Authenticator.setDefault(newMyAuthenticator());
URLurl=newURL(args[0]);
InputStreamins=url.openConnection().getInputStream();
BufferedReaderreader=newBufferedReader(new
InputStreamReader(ins));
Stringstr;
while((str=reader.readLine())!=null)
System.out.println(str);
}
只必要创立一个持续自Authenticator的类,而且重写个中的getPasswordAuthentication()办法,将用户名和暗码放进办法中,如许在必要利用身份认证的中央完成这个类就能够了
</p>
有些人号称用过十几种甚至几十种linux,向人谈论起来头头是到,好像懂的很多。 |
|