可以使用cURL函数获取指定URL的Cookie。请使用以下代码:
<?php
file_put_contents('cookie.txt', ""); //清空本地已经生成的cookie文件内容,用于二次登录获取cookie信息
// 设置 URL 和参数
$url = '***';
// 使用 cURL 发送请求
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
$response = curl_exec($ch);
curl_close($ch);
$cookies = file_get_contents('cookie.txt');
preg_match('/PHPSESSID\s+(.*)/', $cookies, $matches);
$phpsessid = $matches[1];
echo $phpsessid;
其中,CURLOPT_COOKIEJAR和CURLOPT_COOKIEFILE选项指定了将Cookie存储在本地的文件名。在本例中,我们将Cookie存储在"cookie.txt"中。
这是一个简单的 PHP 代码示例,用于模拟 post 登录请求并获取登录成功后的 cookie:
<?php
// 设置 URL 和参数
$url = 'https://example.com/login';
$data = array('username' => 'your_username', 'password' => 'your_password');
// 使用 cURL 发送请求
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
$response = curl_exec($ch);
// 获取登录成功后的 cookie
$cookies = file_get_contents('cookie.txt');
curl_close($ch);
// 输出登录后的 cookie
echo $cookies;
注意:您需要替换登录请求的 URL(data),以适应您的需求。