0

ログインが必要な Web ページがあります。POST で CURL を使用してログインしましたが、十分ではありません。Web サイトからログインすると、投稿には常に変化する文字列も含まれます。それを乗り越える方法はありますか?

私はこれを使用します:

$ch = curl_init();

curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; he-IL; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6");
curl_setopt ($ch, CURLOPT_REFERER, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_POST, TRUE);

$post = "username=$username&password=$password";
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);

$result = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);

実際にウェブページにアクセスしてフォームに定期的に入力するには、コードが必要なようです。

私はいたるところを見ましたが、見つけたのは投稿データを使用することだけでした。

ありがとう!

4

1 に答える 1

0

フォームを含むページにアクセスする必要があることを渡すには、フィールドを取得し、フォームを送信するときに POST リクエストで使用します。

それだけでなく、次の理由からもフォームページにアクセスすることをお勧めします (自動リクエストを使用して人を特定するために使用できるものもあります)。

  1. あなたはクッキーを受け取ります
  2. 偽のリファラーではなく、実際にページにアクセスした
  3. フォーム フィールドをチェックして、スクリプトを記述した後に追加された新しいフィールドがあるかどうかを確認することをお勧めします。これは、フォームの設定が変更され、それに適応したい場合に当てはまる可能性があります。そうしないと、スクリプトがいつか機能しなくなる可能性があります
于 2012-11-20T17:10:42.593 に答える