我正在编写一个 Chrome 打包应用程序,它应该与一个网站(我不拥有)交互,并从中检索一些 HTML 代码。我使用 jQuery get() 来检索源代码,但问题是用户已登录该网站,并且除非您登录,否则某些信息不可用。
所以我希望应用程序检索页面,就像用户登录(在 Chrome 中)一样。
我知道制作一个依赖于浏览器 cookie 的 Chrome 应用程序并不是一个好主意(该应用程序应该能够自行运行),但我不知道有任何其他方法可以做到这一点,即使我知道如何通过应用程序登录网站,用户也会认为这是一个网络钓鱼者(该应用程序将是闭源的)。所以是的,依赖于浏览器 cookie。
最佳答案
据我所知,而且我很确定我会知道,没有办法通过 Chrome 应用程序的 HTTP 请求发送 cookie。
过去,在 OAuth 出现之前,希望应用程序访问网站的用户通常会通过设置页面或类似内容告诉应用程序他/她的登录名和密码。然后应用程序将登录。
使用 OAuth 可以大大改善这一点,但您尝试访问它的网站可能不支持它。如果确实如此,那么这就是要走的路。如果没有,您别无选择,只能询问用户他/她的登录凭据,然后存储这些凭据以供重复使用。不是在 cookie 中,因为 Chrome 应用程序无法访问 cookie,而是在本地存储中。 (有一个用于本地存储的特定 Chrome 应用程序 API。)您可能应该对密码进行加密,也许还应该对登录信息进行加密。请注意,在这种情况下,它不能是单向哈希,而是正常的加密/解密。
(如果您使用 OAuth,请使用 Chrome 应用程序身份 API,这使得 OAUth2 非常容易,OAuth1 也可以实现,但远非易事。)
关于javascript - 使用 JavaScript 和浏览器中保存的 cookie 获取网站的 HTML 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23045100/