Php 使用会话身份验证获取页面内容

Php 使用会话身份验证获取页面内容,php,cookies,curl,Php,Cookies,Curl,我在堆栈溢出中查找了类似的问题,但只找到了一些信息。所以我的问题是: 我想抓取一个页面的内容,比如说:needpage.php(使用file\u get\u contents()+stream\u context\u create()或使用cURL()),但我需要的页面将我重定向到登录页面(loginpage.php-,带有用户和密码) 我是否需要cURL()或file\u get\u contents()processlogin.php页面首先发布username和password字段,然后抓

我在堆栈溢出中查找了类似的问题,但只找到了一些信息。所以我的问题是:

我想抓取一个页面的内容,比如说:needpage.php(使用
file\u get\u contents()+stream\u context\u create()
或使用
cURL()
),但我需要的页面将我重定向到登录页面(loginpage.php-
,带有用户和密码)

我是否需要
cURL()
file\u get\u contents()
processlogin.php页面首先发布username和password字段,然后抓取sessionID,然后将另一个请求发送到needpage.php我需要发布:

$opts = array(
    'http' => array(
        'method' => 'GET',
        'header' => 'Cookie: PHPSESSID=0123456789abcdef0123456789abcdef'
    )
);
你认为什么是正确的流程?有没有可能
cURL
file\u get\u contents
存储
cookie
,然后将该cookie用于另一个页面?

列出了所有有用的标志。也许
CURLOPT_COOKIESESSION
对你的情况有帮助?除非我读错了,否则文档似乎是这么说的

如果它不起作用,则在调用
curl\u close()
后,可以使用
CURLOPT\u COOKIEJAR
将cookie数据保存到文件中


然后可以使用
CURLOPT_COOKIEFILE

加载它。我认为解决方案是使用一些POST数据(我需要登录页面中的html代码来准确地告诉您)来卷曲登录页面,然后卷曲目标页面。这是一个简单的
,但是它如何以及在哪里抓取cookie呢?如何访问cookie…要登录,请使用正确的post数据(用户和密码)curl processlogin.php。然后,在关闭curl会话之前,向要访问的页面发送一个新的curl。