前提・実現したいこと
楽天RMS(https://glogin.rms.rakuten.co.jp/)のログインをphpのCURLを使って行いたいです。
post用のデータIDやパスワードなど必要な値をセットしてcurlでログイン後のページに飛ばす処理を書いています。
発生している問題・エラーメッセージ
ログイン前のページが表示されるだけで思うように進みません。
知恵をお貸しください。
該当のソースコード
PHP
1$POST_DATA = array( 2 'module' => 'BizAuth', 3 'action' => 'BizAuthCustomerAttest', 4 '_csrf' => $csrf, 5 'mukade' => $mukade, 6 'login_id' => 'loginid', 7 'passwd' => 'password' 8); 9 10$url = 'https://glogin.rms.rakuten.co.jp/'; 11$ch = curl_init(); 12 13curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 14curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 15curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 16curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie); 17curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie); 18curl_setopt($ch, CURLOPT_USERAGENT, $user_agent); 19curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST'); 20//curl_setopt($ch, CURLOPT_POSTFIELDS, $POST_DATA); //↓の方が処理早い? 21curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($POST_DATA)); 22curl_setopt($ch, CURLOPT_URL, $url); 23 24 25$html = curl_exec($ch); 26curl_close($ch); 27 28//各種リンクが飛ぶので相対URLを絶対URLに 29$html = str_replace("href=\"/com/","href=\"https://glogin.rms.rakuten.co.jp/com/",$html); 30echo $html; 31
試してみた事
レンタルサーバを使って行っているので、curlやcookieの生成などの環境側での問題がないかどうかの確認のために別プログラムでyahooのログインなどを行い、うまく遷移する事を確認してcookieの読み込みや書き出しの問題は解決したという風に認識しております。
目標
上に記述したコード上ではIDとパスワードが仮のものが入っているので、出したい結果として「IDとパスワードが違う」という表記をさせたいのですが、現状だと普通に楽天RMSの初期ページが表示されてしまいます。
あなたの回答
tips
プレビュー