使用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/

相关内容