我正在尝试自动从网站下载文本数据。在我访问网站的数据之前,我必须输入我的用户名和密码。我用来刮取文本的代码如下所示。问题是我无法弄清楚如何登录页面并重定向到数据的位置。我尝试通过浏览器登录然后通过eclipse运行我的代码,但我最终从登录屏幕获取数据。如果我不必登录,我可以从网站上退出数据。
static public void printPageA(String urlString){
try {
// Create a URL for the desired page
URL url = new URL(urlString);
// Read all the text returned by the server
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String str;
while ((str = in.readLine()) != null) {
System.out.println(str);
// str is one line of text; readLine() strips the newline character(s)
}
in.close();
} catch (MalformedURLException e) {
} catch (IOException e) {
}
}
答案 0 :(得分:0)
我建议您使用Apache HTTP Client库。它可以更容易地发出HTTP请求,它可以处理像cookies这样的事情。该网站可能使用cookie来保存有关您的会话的信息,因此您需要:
Set-Cookie
标头。您必须发送此cookie以及所有后续请求,否则您将进入登录页面。如果你使用HTTP客户端库,它会处理它,不需要在你的代码中弄乱它。