- <?php
- // Discourse论坛的根URL
- $discourse_url = 'https://your-discourse-forum.com';
- // 用户名和密码
- $username = 'your_username';
- $password = 'your_password';
- // 构建登录请求数据
- $data = array(
- 'login' => $username,
- 'password' => $password
- );
- // 初始化cURL会话
- $ch = curl_init();
- // 设置cURL选项
- curl_setopt($ch, CURLOPT_URL, $discourse_url . '/session'); // 设置URL
- curl_setopt($ch, CURLOPT_POST, 1); // 发送POST请求
- curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); // 设置POST数据
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 返回响应而不直接输出
- // 执行cURL会话
- $response = curl_exec($ch);
- // 检查请求是否成功
- if ($response === false) {
- echo 'Error: ' . curl_error($ch);
- exit;
- }
- // 关闭cURL会话
- curl_close($ch);
- // 解析响应数据
- $response_data = json_decode($response, true);
- // 检查登录是否成功
- if (isset($response_data['session'])) {
- // 登录成功,输出认证令牌信息或执行其他操作
- echo "Login successful! Auth token: " . $response_data['session']['authentication_token'];
- // 可以将认证令牌保存在会话中或使用它进行后续API请求
- } else {
- // 登录失败,输出错误信息或执行其他操作
- echo "Login failed. Error: " . $response_data['errors'][0];
- }
- ?>
复制代码
运行出错,把46行. $response_data['errors'][0]去了,可以运行,但登录失败 |