如何使用Java从网站中提取受登录保护的数据?

时间:2014-11-05 18:11:26

标签: java htmlunit apache-commons-httpclient screen-scraping

我一直在使用Java从一个网站中提取一些值。但是,我现在需要从其他网站提取一些值,但是这个网站要求您登录才能看到该页面。我有一个用于登录的用户名和密码,但是我使用HTTPclient或HTMLUnit在Java上使用自动登录失败了。

有什么方法可以绕过这个并从登录保护页面中提取数据?

1 个答案:

答案 0 :(得分:3)

  1. 在您的代码中,模拟用户登录。通常,这意味着使用相应表单参数中的用户名和密码值POSTING到登录URL。要从HTTP角度看这是什么样的,请使用向您显示请求内容的工具(wireshark,浏览器插件)。

  2. 捕获从登录页面的POST返回的cookie。可能这些中的一个或多个是会话cookie - 即用于标识与服务器的会话的cookie。

  3. 在该网站的后续请求中包含这些Cookie。请求不应被视为来自经过身份验证的用户。