drupal_http_request メソッドを使用して、リモート サイトから Drupal にログインしようとしています。Drupal からセッション ID を取得する必要があります。コードを実行すると、以下のような応答が得られます。しかし、間違ったユーザー資格情報を入力すると、同じ応答が返されます。Drupal 6 とサービス 3 を使用しています。助けてください
<?php
// This is the base URL for our installation
require_once 'drupal/includes/bootstrap.inc';
include('drupal/includes/common.inc');
$base_url = 'http://localhost/drupal/';
// necessary or the response is empty:
$headers = array('Content-Type' => 'application/x-www-form-urlencoded');
// Login
$data = array(
'name' => 'admin',
'pass' => 'password',
);
$data = http_build_query($data, '', '&');
$response = drupal_http_request($base_url . 'user/login', $headers, 'POST', $data);
$data = json_decode($response->data);
print_r($response);
// uncommented and fixed cookie line so that the second request is using the same session
echo $headers['Cookie'] = $data->session_name . '=' . $data->sessid;
$response = drupal_http_request($base_url . 'user/3', $headers);
print_r(json_decode($response->data));
?>
OUTPUT [プロトコル] => HTTP/1.1 [ステータス メッセージ] => OK [ヘッダー] => 配列 ([日付] => 2012 年 4 月 17 日火曜日 04:40:48 GMT [サーバー] => Apache/2.2.21 (Win32 ) PHP/5.3.10 [X-Powered-By] => PHP/5.3.10 [Set-Cookie] => SESScfc90a62c81b7bfc6f292320b1d0b8ca=89q5rhq3neom3le1l4b2l67297; expires=Thu, 10-May-2012 08:14:08 GMT; path=/ [有効期限] => 1978 年 11 月 19 日 (日) 05:00:00 GMT [最終更新日] => 2012 年 4 月 17 日 (火) 04:40:48 GMT [キャッシュ制御] => 事後チェック = 0、事前チェック=0 [Content-Length] => 4485 [Connection] => close [Content-Type] => text/html; charset=utf-8 ) [code] => 200 )