php curl请求登录接口后再请求需要登录的接口

// 初始化 cURL 会话
$ch = curl_init();

// 登录 URL
$loginUrl = "/webAPI/public/?s=User_User.login";

// 登录请求发送的数据(用户名和密码)
$loginData = array(
'username' => 'yansiyu',
'password' => '111111'
);

// 将数据转换为查询字符串
$postFields = http_build_query($loginData);

// 设置 cURL 选项进行登录请求
curl_setopt($ch, CURLOPT_URL, $loginUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);

// 设置存储会话 cookie 的文件
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt"); // 存储 session 的 cookie 文件
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt"); // 后续请求使用存储的 cookie

// 执行登录请求
$response = curl_exec($ch);

// 检查 cURL 请求是否成功
if(curl_errno($ch)) {
echo 'cURL 错误: ' . curl_error($ch);
} else {
// 登录成功,可以根据需要处理返回的响应
echo "登录响应: " . $response;
}

// 关闭 cURL 会话
curl_close($ch);
echo "<br>";
// 初始化 cURL 会话
$ch = curl_init();
// 受保护的接口 URL(需要登录)
$protectedUrl = "/webAPI/public/?s=App.Records_RecordImport.addCsvMsg";
// 设置 cURL 选项来访问受保护的接口
curl_setopt($ch, CURLOPT_URL, $protectedUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// 使用之前存储的 cookie 文件保持会话
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");

// 执行请求以访问受保护接口
$response = curl_exec($ch);

// 检查 cURL 请求是否成功
if(curl_errno($ch)) {
echo 'cURL 错误: ' . curl_error($ch);
} else {
// 输出受保护接口返回的数据
echo "受保护数据: " . $response;
}

// 关闭 cURL 会话
curl_close($ch);

    A+
发布日期:2025年04月28日  所属分类:php

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: