p*******e 发帖数: 186 | 1 我需要登录一个网站,输入用户名和密码,然后下载登录后的网页内容。请问Java如何
能做到?
我在网上找到下面一段代码,但好像不工作,不知道什么原因。版主请手下留情,这里
高手多。我刚学Java。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.Authenticator;
import java.net.MalformedURLException;
import java.net.PasswordAuthentication;
import java.net.URL;
public class AuthDemo {
public static void main(String args[]) throws MalformedURLException,
IOException {
String urlString = "";
String username = "";
String password = "";
Authenticator.setDefault(new MyAuthenticator(username, password));
URL url = new URL(urlString);
InputStream content = (InputStream) url.getContent();
BufferedReader in = new BufferedReader(new InputStreamReader(content));
String line;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
System.out.println("Done.");
}
static class MyAuthenticator extends Authenticator {
private String username, password;
public MyAuthenticator(String user, String pass) {
username = user;
password = pass;
}
protected PasswordAuthentication getPasswordAuthentication() {
System.out.println("Requesting Host : " + getRequestingHost());
System.out.println("Requesting Port : " + getRequestingPort());
System.out.println("Requesting Prompt : " + getRequestingPrompt());
System.out.println("Requesting Protocol: "
+ getRequestingProtocol());
System.out.println("Requesting Scheme : " + getRequestingScheme());
System.out.println("Requesting Site : " + getRequestingSite());
return new PasswordAuthentication(username, password.toCharArray());
}
}
} | l*n 发帖数: 529 | 2 用户名和密码页面跟登陆后的界面没关系,提交用户名和密码就是告诉服务器这人来了
,给他个牌子(sessionid),以后看别的“页面”就允许。你看看登陆界面的代码就能
知道用户名密码信息该发到哪儿去了,然后让java code往这个地方发信息就成。
【在 p*******e 的大作中提到】 : 我需要登录一个网站,输入用户名和密码,然后下载登录后的网页内容。请问Java如何 : 能做到? : 我在网上找到下面一段代码,但好像不工作,不知道什么原因。版主请手下留情,这里 : 高手多。我刚学Java。 : import java.io.BufferedReader; : import java.io.IOException; : import java.io.InputStream; : import java.io.InputStreamReader; : import java.net.Authenticator; : import java.net.MalformedURLException;
|
|