java - 使用受密码保护的网站的 Jsoup 获取 HTML 源代码

标签 java android html authentication android-webview

正如标题所说,我正在尝试使用Jsoup,特别是方法

String html = Jsoup.connect(page.getUrl()).get().html(); 

该网站受用户名和密码保护,并且我有登录凭据,但如果我尝试获取页面源,则 URL 会重定向到“请登录”页面。我不拥有该网站(无法直接访问数据库)。此外,我不知道http或Javascript。在 Activity 中,用户将在 Web View 中导航并登录到该网站,登录后,我将获取 URL 并尝试获取源代码(使用上述方法)。

总之,我可以使用 Jsoup 成功获取源,但 URL 重定向到登录页面。

提前谢谢您。

最佳答案

您必须使用 java 代码登录该网站。使用实时http header [firefox addon]查看所有http header 并尝试使用您的java代码发送这些 header ,以便网站认为网络浏览器正在尝试连接到它。

简而言之,尝试使用 Java 代码模拟浏览器的行为和操作。

您可以通过以下代码使用 Jsoup 登录:

Document doc = Jsoup.connect("http://www.example.com/login.php")
.data("username", "myUsername")
.data("password", "myPassword")
.post();

然后尝试读取页面的 html

关于java - 使用受密码保护的网站的 Jsoup 获取 HTML 源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8677062/

相关文章:

java - 如何在SWT字体中设置字间距

java - Guava 前提条件检查,空列表

java - 如何使用 JPA 和 Hibernate 删除带有 JOIN 的实体

jquery - 如何对齐 div 的 Bootstrap 列中间?

java - Mockito 可以验证模拟对象上的方法调用总数吗?

java - 安卓.content.res.Resources$NotFoundException : Unable to find resource ID

android - SQLite 连接在 Flutter 中返回 null

Android画中画模式,打开我的应用程序的另一个 Activity

jquery - 使用 jQuery 可拖动在 div 剪贴蒙版中拖动缩放图像?

html - 如何对齐控制彼此