0

我正在尝试使用 PHP 和 file_get_contents 函数获取文件的来源。

问题是该网站需要登录。我认为可以通过先登录站点然后使用 file_get_contents 函数来绕过这点,但事实并非如此。该函数返回的页面是登录页面。

这是代码:

<?php

if (isset($_GET['getroster'])){
$file = stripslashes(file_get_contents('https://intranet.hlf.de/custom/cddTUB.asp?show=1'));
print ($file);
}

?>

正如您在运行此函数时看到的,或者在访问 url 时,它会从下拉列表中请求用户名、密码和公司。

是否可以使用此或任何其他 PHP 函数将这些值传递给页面。或者也许以完全不同的方式来做?

4

3 回答 3

2

您浏览器中的 cookie 与 PHP 可以发送的 cookie 完全无关。

使用curl您可以设置选项CURLOPT_COOKIEJARCURLOPT_COOKIEFILE指定应该存储和加载 cookie 的文件。

这样做,您首先必须发出一个登录请求(这将为您提供 cookie)。接下来,您可以以登录用户的身份执行您想要执行的请求(因为现在 curl 具有 cookie)。

于 2010-07-24T10:13:17.120 回答
0

您必须发送正确的 cookie。如果您可以使用 curl,那么此页面上的脚本应该会有所帮助。您还可以查看这个SO question(它与您的情况略有不同,因为它重用浏览器 cookie 来发出请求)。

于 2010-07-24T10:17:11.240 回答
0

任何改变你都可以发布一个例子来说明如何做到这一点丹尼尔?

不会有创建类似登录表单的选项,它将用户信息发送到页面以自动登录?阅读有关 stream_context_create 函数的内容,该函数可以通过发送标头信息进行登录,但我真的不知道从哪里开始。发布的示例仅提供用户名和密码,但我当然还有第三个选项可以发布到身份验证页面!

于 2010-07-24T10:24:08.537 回答