1

我正在使用 drupal 7 和 REST api。我想用 curl 登录 drupal,然后当我用浏览器访问该网站时,我想登录。

我正在使用 gthis 代码:

<?php

$user_data = array(
  'username' => 'usertest',
  'password' => 'pass',
);
$ch = curl_init();
$tmpfname = dirname(__FILE__).'/'.$_COOKIE['PHPSESSID'].'.txt';
curl_setopt($ch, CURLOPT_URL, "http://example.com/networklogin/user/login");
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $user_data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt( $ch, CURLOPT_COOKIESESSION, true );
curl_setopt( $ch, CURLOPT_COOKIEJAR, $tmpfname );
curl_setopt( $ch, CURLOPT_COOKIEFILE, $tmpfname );
$response = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

?>

它工作得很好,它让用户登录,但是当我访问“example.com”时,我没有以“usertest”的身份登录。有什么方法可以让我登录 Drupal 并允许我使用浏览器访问?

目标是当我登录到一个网站时使用相同的用户登录到许多网站,就像我在这里写的那样(相同的网络服务器,相同的drupal,相同的数据库,单点登录?)。

4

1 回答 1

0

好的,我在这里找到了解决方案: 通过 CURL 和客户端浏览器登录网站

为用户浏览器使用 curl cookie 几乎是不可能的。

于 2013-04-01T11:56:19.850 回答