我有以下代码:
$homepage = file_get_contents("https://example.com/specific_page");
echo $homepage;
浏览器已经有我需要访问的网站会话,所以如果我在新标签页面中打开网址,页面将被正确加载。
问题是php脚本将我重定向到“您还没有登录”页面。请注意,即使重新启动浏览器后,该URL也可用。
如何在不编写登录网站的代码的情况下获取内容的任何想法?
答案 0 :(得分:3)
如果网站可以访问任意外部网站上的数据,那将是一个巨大的安全问题。想象一下:file_get_contents('https://yourbank.com/all-your-details')
。
您可以这样做的唯一方法是在外部网站上询问用户他/她的登录凭据并手动登录。但是,这将是不可靠的,因为身份验证过程可能会发生变化(并且要求某人输入他/她的密码非常粗鲁。)
这通常是用于使用Web服务的API,但是如果您感兴趣的网站没有可用的,那么您就会陷入困境。
如果您已经知道网站的登录凭据,那么您可以使用Blauesocke概述的方法将它们硬编码到脚本中,但如果细节对于当前用户来说是唯一的,那么这将不起作用。
答案 1 :(得分:3)