使用 jsoup 登录并重定向到网站

Logging in and redirecting into a website using jsoup

我目前正在使用 jsoup 库来解析 websites.Can 我使用 jsoup.connect(url).get() 使用登录信息。用户 ID 和密码或任何其他可以提供此 function.I 的库已经看到一些使用 website.But 的登录页面解析的解决方案是否有任何方法可以使用用户名和 pwd.Thanks 直接连接帮助。

简答:视情况而定。

您必须了解用户如何在您正在解析的站点上对自己进行身份验证。可能是用户名和密码作为 GET/POST 请求参数发送(如果使用登录表单,请参阅 "Form-based authentication")或者站点使用 Web 容器身份验证,即在 web.xml 中配置(基本、NTLM、Kerberos 等)。

如果基于表单的身份验证接受 POST 请求,您可以使用

Jsoup.connect(url).data("user","username","pwd","1234").post();

如果您的登录表单有一个名为 user 的用户名输入和 pwd 密码输入。请注意,您将通过网络发送未加密的密码(除非您使用 https)。

对于其他身份验证,请考虑使用全尺寸 HTTP 客户端(例如 Apache HttpClient)和 RTFM(请参阅凭证提供程序、用户凭证)。

然后您将使用 Jsoup.parse(...) 方法之一来解析您将使用您选择的 HTTP 客户端获得的响应。