ウェブサイト(リモート)にログインしようとしていますが、example.com/loginと言うと、リクエストトークンを使用してリクエストトークンを取得していますだから、トークンをリフレッシュしないでログインする方法
// code for getting token cookies etc
$url = 'http://example.com/login/';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$doc = curl_exec($ch);
curl_close($ch);
// extract __RequestVerificationToken input field
preg_match('#<input name="__RequestVerificationToken" type="hidden" value="(.*?)"#is', $doc, $match);
$token = $match[1];
// code for redirect to dashboard
$postinfo = "Email=".$username."&Password=".$password."&__RequestVerificationToken=".$token;
// var_dump($token); //debug info
$useragent="Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36";
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postinfo);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);
$html = curl_exec($ch);
echo $html;
if (curl_errno($ch)) print curl_error($ch);
curl_close($ch);
、イムがトークンを取得しますが、次のカール要求でログインしようとしたとき、明らかに$トークンは私がexample.comのURLにログインできる方法を知りたいので、リフレッシュに起因する変化し続ける以下、このようなURL /同じcurlスクリプトでログインするので、$ tokenは同じに保たれますか?
TIA!
あなたはページがの一部であるトークンを取得するには、Getログインフォームをクリックすると、ログインフォームがページにPOSTされ、セッションCookieが取得されます。これらのクッキーは、セッションがタイムアウトするまで機能するはずです。 ChromeでF12キーを使用し、ブラウザ間でネットワークデータを保持してブラウザがどのように動作するかを確認するには、このチェックボックスをオンにします。 –