我如何用get_contents提供我的凭证? PHP

时间:2011-06-06 15:58:16

标签: php credentials

我看了一些例子,他们在php等中使用Curl但我只想要一个简单的命令,将我的凭据传递给一个站点,这样它就可以登录并让我访问下载文件。当前的问题是,当我尝试使用get_contents时,我会遇到登录页面,因为它需要登录才能允许下载,所以有没有办法在php中的get_contents之前发送我的登录信息?感谢

例如,我们可以假设该网站位于www.confluence.com

2 个答案:

答案 0 :(得分:1)

你运气不好。 file_get_contents()只能获取内容,因此名称。您可以尝试通过标准身份验证的get语法进行身份验证,例如http://username:password@example.com

如果您必须通过HTTP POST发布您的凭据,则必须使用curl。

答案 1 :(得分:1)

问题是当您登录服务器时,会向浏览器发送浏览器自动存储的cookie。 使用file_get_content(),您实际上可以传递Cookie(file_get_content()的第三个context参数可以处理此问题。)

看看stream context create。 顺便说一句,您需要首先将您的登录信息发送到登录页面(使用curl),当您重新回复cookie时,将它们作为选项传递给file_get_content()并完成诀窍。

如果服务器使用的是与Cookie不同的登录系统,请告诉我们,以便我们为您提供帮助