我看了一些例子,他们使用curl在PHP等,但我只是想要一个简单的命令,将我的凭据传递到一个网站,所以它可以登录,并给我访问下载文件。目前的问题是,当我尝试使用get_contents我卡在登录页面,因为它需要登录之前,它可以允许下载,所以没有办法发送我的登录信息之前在PHP get_contents?由于我如何使用get_contents提供我的凭据? php
例如,我们可以假设该网站位于www.confluence.com
我看了一些例子,他们使用curl在PHP等,但我只是想要一个简单的命令,将我的凭据传递到一个网站,所以它可以登录,并给我访问下载文件。目前的问题是,当我尝试使用get_contents我卡在登录页面,因为它需要登录之前,它可以允许下载,所以没有办法发送我的登录信息之前在PHP get_contents?由于我如何使用get_contents提供我的凭据? php
例如,我们可以假设该网站位于www.confluence.com
你的运气了。 file_get_contents()
只能获取内容,因此名称。您可以尝试通过get语法进行身份验证,例如http://username:[email protected]
。
如果您必须通过HTTP POST发布凭证,则必须使用curl。
问题是,当您登录服务器时,向您的浏览器发送一个您的浏览器自动存储的Cookie。 与file_get_content()
你实际上可以传递cookie(file_get_content()的第三个context
参数可以处理这个)。
看看stream context create。 顺便说一下,您需要首先将登录信息发送到登录页面(使用curl
),当您收回cookie时,将它们作为file_get_content()
的选项传递给用户,并且完成该技巧。
如果服务器使用的是不同的cookie登录系统,让我们知道,所以我们可以帮助您
我尝试的http://用户名:[email protected]但它没有工作,我在位于在登录页面,有什么想法? – Bulvak 2011-06-06 17:21:16
是否存在一些不同的限制?我得到一个403错误,只是试图访问登录页面.. – konsolenfreddy 2011-06-06 17:27:11
你需要在Apache服务器上才能访问它,只有我可以和附近的人在团队中....这真是太痛苦了没有办法传递凭据? – Bulvak 2011-06-07 13:57:16