wget を使用する場合の Cookie の形式は?

wget を使用する場合の Cookie の形式は?

wgetのNetscape 形式は何ですかcookies.txt? ログインが必要な Web サイトをミラーリングする必要があります。その形式で Cookie を返す Chrome 拡張機能を使用し、それらを に保存しcookies.txt、 コマンドでインポートしますwgetが、役に立たず、まったくログインしていないかのようにコンテンツがダウンロードされるだけです。

どのような助けでも感謝します。

答え1

形式はマニュアル ページに記載されている Netscape 形式であり、次のようになります。

Netscape の cookies.txt ファイルのレイアウトでは、各行に 1 つの名前と値のペアが含まれます。例の cookies.txt ファイルには、次のようなエントリが含まれます。

.netscape.com TRUE / FALSE 946684799 NETSCAPE_ID 100103

各行は保存された情報の1つを表します。タブ各フィールドの間に挿入されます。

左から右の順に、各フィールドが表す内容は次のとおりです。

ドメイン- 変数を作成し、かつ読み取ることができるドメイン。

フラグ- 特定のドメイン内のすべてのマシンが変数にアクセスできるかどうかを示す TRUE/FALSE 値。この値は、ドメインに設定した値に応じて、ブラウザによって自動的に設定されます。

パス- 変数が有効なドメイン内のパス。

安全な- 変数にアクセスするためにドメインとの安全な接続が必要かどうかを示す TRUE/FALSE 値。

有効期限- 変数が期限切れになる UNIX 時間。UNIX 時間は、1970 年 1 月 1 日 00:00:00 GMT からの秒数として定義されます。

名前- 変数の名前。

価値 - 変数の値。

(から "非公式クッキーFAQ(わかりやすくするために編集)

答え2

HTTP::Cookies::NetscapeNetscape クッキー ファイルの各データ行の形式は上記のとおりですが、次のようなヘッダー行がないと読み込むことができません。これは完全なファイル形式で必要です。

# Netscape HTTP Cookie File

またはこれ:

# HTTP Cookie File

答え3

wget の Cookie を取得する 1 つの方法は、wget の --keep-session-cookies オプションを使用することです。

例えば ​​:

wget --keep-session-cookies --save-cookies cookies.txt "http://MYSITE/?__login=USER&__password=PASS"

ミラーリングしようとしている Web サイトによって異なります?__login etcが、認証フォームの動作を確認する必要があるかもしれません。

次に以下を使用します:

wget --mirror --load-cookies cookies.txt http://MYSITE/

関連情報