通过会话身份验证获取页面内容

时间:2013-09-20 06:58:57

标签: php cookies curl

我查看了Stack Overflow的类似问题,但只找到了一些信息。所以我的问题是:

我想获取页面的内容,让我们说: needpage.php (使用file_get_contents() + stream_context_create()或使用cURL()),但我需要的页面会将我重定向到登录页面( loginpage.php - <form action=*processlogin.php*>与用户和通行证)。

我是否需要cURL()file_get_contents() processlogin.php 页面首先POST用户名和密码字段,然后获取sessionID然后发送另一个请求 needpage.php 我需要发帖:

$opts = array(
    'http' => array(
        'method' => 'GET',
        'header' => 'Cookie: PHPSESSID=0123456789abcdef0123456789abcdef'
    )
);

您认为正确的流程是什么? cURLfile_get_contents是否可以存储cookie,然后将该Cookie用于其他页面?

1 个答案:

答案 0 :(得分:1)

curl_setopt()列出了所有有用的标志。也许CURLOPT_COOKIESESSION会对你的情况有帮助吗?文档似乎声称是这样,除非我误读它。

如果它不起作用,则CURLOPT_COOKIEJAR可用于在调用curl_close()后将cookie数据保存到文件中。

然后可以使用CURLOPT_COOKIEFILE加载它。