ホームページ >バックエンド開発 >PHPチュートリアル >curl はログインをシミュレートし、Cookie によって送信される URL が常に変更されることを確認します。

curl はログインをシミュレートし、Cookie によって送信される URL が常に変更されることを確認します。

WBOY
WBOYオリジナル
2016-06-13 12:51:21816ブラウズ

Curl はログインをシミュレートし、Cookie によって送信される URL が常に変化することを確認します。
最初のステップは、get メソッドを使用してホームページを開くことです。2 番目のステップは、ホームページ上のログイン ボタンをクリックすることです。ログイン ボックスが表示されます。投稿データが完成するとログインが完了します。
2 番目のステップでは、最初のステップで生成された Cookie 値が必要です。
最初のステップはホームページにアクセスすることですが、10 近くの URL が自動的にリクエストされます。これらの URL の多くは、ホームページに js が読み込まれた直後に自動的に送信されます。
この Cookie は、これらのページのいずれかによってクライアントに書き込まれます。
この Cookie を取得するには、10 ページを超えるシミュレーションが必要になることを想像できますか?
そして、これらのページも変更されていることがわかりました。今回は表示されるが、次にホームページをクリックしたときには表示されないものもあります。つまり、ある訪問中にこの Cookie がどのページで発行されたのかわかりません。

ブラウザのように、最初にリクエストされたページの下で js によってリクエストされた新しいページを、curl は自動的に処理できないようです。
各ページをシミュレートしたい場合は、それは不可能だと思われます。

ページをリクエストするためにcurlを使用する場合、すべてのCookieが取得できるように、このページによって自動的に発行される後続のリクエストをcurlが自動的に処理する必要があると考えています。しかし、実装はこのようには見えません。curlは1つのURLと1つのURLしかリクエストできません。
このような状況ではカールは無力であるというのは本当ですか?結局のところ、curl はブラウザではありません。
皆さん、ヒントを。もしcurlがそれを処理できないなら、どの言語がそれを処理できるでしょうか?

URL ブラウザ
-----解決策--------------------------------
すべての Cookie キャッシュをクリアし、[このページをキャプチャ] を参照して、Cookie を生成した URL をキャプチャするまで繰り返します。 Cookie を生成した URL にアクセスし、目的のページにアクセスします。

これは面倒なプロセスです。curl はインテリジェントなロボットではなく、複数のプロトコルをサポートする単なる送信ツールです。

------解決策----------------------curl は js を実行しますか?
これらのプロフェッショナル向けブラウザには依然として互換性の問題があります
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。