1

まず初めに、私の英語で申し訳ありません。私は英語で書くのが苦手で、スペル チェックを通過する時間がありませんでした。kkk

だから、ここに私の問題の概要があります。PHP CURL コマンドを使用して ASPX ページにログインし、ASPX が要求するすべての非常識な変数を含む投稿データを送信することができました。私の問題は、投稿データ(ユーザーとパスワードを含む)をログインページに送信することです。その後、ページへのアクセスを取得するために、投稿データ(いくつかのクレイジーなものを含む)をログインページに送信する必要があります。つまり、特定の投稿データをページに送信した場合にのみログインページにアクセスできます(そのクレイジーなstuufを使用)。送信しない場合は、ログインページではなくメインページにリダイレクトされます。

クレイジーな投稿でログインページへの CURL コマンドを実行し、ログインページにアクセスすることができました。さて、ログインページにアクセスするために最初のクレイジーな投稿を送信した後、ユーザー/パスワードを含む投稿をログインページに送信するにはどうすればよいですか?

あなたたちは理解できませんでしたか?そうでない場合は、さらに説明を試みることができます。

ありがとう!!

ラファエル

4

1 に答える 1

0

ログイン後にのみ利用可能なページへのアクセスをユーザーに許可したい場合は、ログインページから COOKIE を保存してから、すべてのリクエストを送信する必要があります。これは、カールを介して行うことができます。

クッキーを取得:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
$data = curl_exec($ch);
$header = substr($data, 0, curl_getinfo($ch, CURLINFO_HEADER_SIZE));
$body = substr($data, curl_getinfo($ch, CURLINFO_HEADER_SIZE));
preg_match_all("/Set-Cookie: (.*?)=(.*?);/i", $header, $res);
$cookie = '';
foreach ($res[1] as $key => $value) {
   $cookie .= $value . '=' . $res[2][$key] . '; ';
};
curl_close($ch);

Cookie を別の curl リクエストに返します。

curl_setopt($ch, CURLOPT_COOKIE, $cookie); 
于 2013-03-21T08:52:02.500 に答える