0

最近、サインイン アカウントに基づいて、stackoverflow.comcurlから推奨される質問リストをクロールするために使用しています。

現在、アカウント情報を HTTP リクエストに登録するために、ヘッダーと Cookie (ブラウザーに表示される) をファイルにコピー アンド ペーストしcurl、データをクロールするスクリプトを作成しました。

ただし、気づいたように、ブラウザから送信されるやCookieなどのフィールドのいくつかのキーは定期的に変更されるため、それに応じてスクリプトの Cookie 値を更新する必要があります。そうしないと、自分の口座情報。__utma__utmb

私の側で必要なこの更新は、実際には非常に面倒です。

私の混乱は次のとおりです。1、Cookie フィールド (ブラウザから送信される) が定期的に変更されるのはなぜですか? その背後にある理由は何ですか?2. CURL をブラウザのように動作させて、ブラウザと同じ方法で Cookie を適応させる方法はありますか?

4

1 に答える 1

0

1 - Cookie はサーバーによって「設定」され、クライアントは、設定されたときのように同じサーバー + パスなどに一致する場合にのみそれらを送り返します。サーバーは Cookie を何度も新しい値に設定することができ、ブラウザ (またはカール) はもちろん正しい内容を送り返す必要があります。

2 - Cookie が HTTP で設定されている限り (概要についてはhttp-cookiesを参照)、Cookie がたとえば JavaScript で設定されている場合、curl はそのようなプログラムを実行しないため、ブラウザーを模倣しません。ブラウザがそうしている間。

于 2013-10-05T21:27:46.337 に答える