使用wget時cookie的格式?

使用wget時cookie的格式?

wget的Netscape 格式是什麼cookies.txt?我需要鏡像一個需要登入的網站。我使用一個 Chrome 擴充程序,它以這種格式返回 cookie,我將它們保存在 中cookies.txt,用wget命令導入,但沒有用,它只是下載內容,就像我根本沒有登入一樣。

我很感激任何幫助。

答案1

此格式是手冊頁所述的 Netscape 格式,此格式為:

Netscape 的 cookies.txt 檔案的佈局是這樣的:每一行包含一個名稱-值對。範例 cookies.txt 檔案可能具有如下所示的條目:

.netscape.com TRUE / FALSE 946684799 NETSCAPE_ID 100103

每行代表一則儲存的資訊。 A標籤插入在每個欄位之間。

從左到右,每個字段代表的含義如下:

領域- 建立 AND 且可以讀取變數的域。

旗幟- TRUE/FALSE 值,指示給定域內的所有電腦是否可以存取該變數。該值由瀏覽器自動設置,具體取決於您為網域設定的值。

小路- 變數有效的域內的路徑。

安全的- TRUE/FALSE 值,指示是否需要與網域的安全連線來存取變數。

過期- 變數到期的 UNIX 時間。 UNIX 時間定義為自 1970 年 1 月 1 日 00:00:00 GMT 以來的秒數。

姓名- 變數的名稱。

價值 - 變數的值。

(從 ”非官方 Cookie 常見問題解答”,為了清晰起見進行了編輯)

答案2

HTTP::Cookies::Netscape每個資料行的 Netscape cookies 檔案格式如上,但除非它有這樣的標題行,否則您將無法讀取它,完整的檔案格式需要這樣的標題行:

# Netscape HTTP Cookie File

或這個:

# HTTP Cookie File

答案3

為 wget 取得 cookie 的一種方法是使用 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/

相關內容