java - Java - 如何在 URL 对象上“登录”
问题描述
我正在尝试创建一个能够跟踪/管理社交媒体关注者的程序,其简单的想法是在 Java 中使用 URL 对象和 BufferedReader,提取字符串并将其过滤掉以仅显示/保留某些内容HTML 文档。例如; 在用户帐户上加载关注页面并返回列表中的每个用户,然后检查该列表中的每个帐户是否遵循用户检查。
问题是来自社交媒体网站的某些链接,例如 twitter.com/username/following,只有在登录 Twitter 时才能访问,并且在尝试使用 URL 对象从中读取时返回登录页面。
我对“Web 编程”不是很有经验,但我想知道是否有一种方法可以使用 Java 中的 URL 对象或其他方法“登录”,以便显示正确的页面试图从中加载和提取字符串/数据。
感谢您提供的任何帮助或资源。
解决方案
如果网站允许使用基本身份验证登录,您可以将“授权”标头添加到您的 URL 请求中。
以下答案已经概述了如何在 Java 中将此类标头添加到您的请求中:https ://stackoverflow.com/a/5137446
然而,社交媒体网站不支持这种身份验证,使用程序使用个人凭据登录甚至可能违反服务条款。
如果您想在您的程序中接收有关用户的信息,您必须从社交媒体网站请求 API。这可能是用于从他们的站点检索信息的 java 库,或者是记录如何检索信息的模式,通常使用他们在 Web 服务器上提供的 REST API。
此类代码不需要用户的登录凭据,并且很可能使用称为 OAUTH2 的标准工作,在该标准中,您的程序通过从用户接收登录密钥来进行身份验证以检索信息,方法是他们将他们的帐户“连接”到你的服务。
看看 Twitter 开发者页面:https ://developer.twitter.com/en/docs/basics/getting-started
推荐阅读
- xamarin.forms - 如何在模拟器上运行 mvvmcross Xamarin.Form 应用程序
- java - 如何为jtable设置值?
- ios - 我的反应本机应用程序仅在启用远程调试器时运行,等等当我在设备上安装应用程序时它将无法正常工作
- android - 访问霍尔传感器
- email - 从电子邮件附件中获取 PowerBI 中的数据
- tensorflow - 在 GPU 上导入和使用 tensorflow 失败
- php - 如何在不更改部署主机 [Deployer] 的情况下在另一台主机上执行任务?
- php - 这是我在php中使用(删除文件/取消链接)的正确方法吗
- swift - VoiceOver:我可以快速适应不同的语调吗?
- twitter-bootstrap - Bootstrap 4:如何使用 SCSS 构建灵活的容器宽度,例如 container-sm-10