我看了一些例子,他们在php等中使用Curl但我只想要一个简单的命令,将我的凭据传递给一个站点,这样它就可以登录并让我访问下载文件。当前的问题是,当我尝试使用get_contents时,我会遇到登录页面,因为它需要登录才能允许下载,所以有没有办法在php中的get_contents之前发送我的登录信息?感谢
例如,我们可以假设该网站位于www.confluence.com
答案 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不同的登录系统,请告诉我们,以便我们为您提供帮助