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


31

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

私は助けに感謝します。

回答:


46

形式は、manページに記載されているNetscape形式で、この形式は次のとおりです。

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

.netscape.com TRUE / FALSE 946684799 NETSCAPE_ID 100103

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

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

domain-変数を作成できるANDを作成したドメイン。

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

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

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

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

名前 -変数の名前。

value- 変数の値。

(明確にするために編集された「非公式Cookie FAQ」より)


3
ファイルはタブまたはスペースで区切られていますか?
フェリービッグ

3
@ferrybigタブが使用されます。
ヤモリ

クッキーは、ドメイン名のあるものではなく、例えば127.0.0.1からのものです。
PypeBros

4

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

例えば ​​:

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

?__login etcあなたがミラーにしようとしているウェブサイトに依存して、あなたはどのように認証フォームの作品を見ているかもしれません。

次に使用できます:

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

3
これは、ファイル形式が何であるかという質問には答えません。
マイケルMichael

2

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

# Netscape HTTP Cookie File

またはこれ:

# HTTP Cookie File
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.