首页 > 解决方案 > Java - 如何在 URL 对象上“登录”

问题描述

我正在尝试创建一个能够跟踪/管理社交媒体关注者的程序,其简单的想法是在 Java 中使用 URL 对象和 BufferedReader,提取字符串并将其过滤掉以仅显示/保留某些内容HTML 文档。例如; 在用户帐户上加载关注页面并返回列表中的每个用户,然后检查该列表中的每个帐户是否遵循用户检查。

问题是来自社交媒体网站的某些链接,例如 twitter.com/username/following,只有在登录 Twitter 时才能访问,并且在尝试使用 URL 对象从中读取时返回登录页面。

我对“Web 编程”不是很有经验,但我想知道是否有一种方法可以使用 Java 中的 URL 对象或其他方法“登录”,以便显示正确的页面试图从中加载和提取字符串/数据。

感谢您提供的任何帮助或资源。

标签: javahtmlweb

解决方案


如果网站允许使用基本身份验证登录,您可以将“授权”标头添加到您的 URL 请求中。

以下答案已经概述了如何在 Java 中将此类标头添加到您的请求中:https ://stackoverflow.com/a/5137446

然而,社交媒体网站不支持这种身份验证,使用程序使用个人凭据登录甚至可能违反服务条款。

如果您想在您的程序中接收有关用户的信息,您必须从社交媒体网站请求 API。这可能是用于从他们的站点检索信息的 java 库,或者是记录如何检索信息的模式,通常使用他们在 Web 服务器上提供的 REST API。

此类代码不需要用户的登录凭据,并且很可能使用称为 OAUTH2 的标准工作,在该标准中,您的程序通过从用户接收登录密钥来进行身份验证以检索信息,方法是他们将他们的帐户“连接”到你的服务。

看看 Twitter 开发者页面:https ://developer.twitter.com/en/docs/basics/getting-started


推荐阅读