wget镜像,子域和目录和cookie

我有一个现在是“完整”的网页上的帐户(即我已经用完了所有分配的空间),我想做一个该网站镜像wget似乎是使用的东西。

问题是我只想在这个目录http://user.domain.com/room/2324343/transcript/ (和子目录)中镜像谎言。 同时保存正确的样式表,JavaScript和CSS等存在于不同的目录。

还有上传的文件,链接到在transcript目录(在不同的目录)的页面内,我想下载/镜像(这些文件格式为.exe,.py,.png,.app(和还有很多))。 也有在这些页面上的不同服务器上的图像。

如果这些链接(有时是相对的,有时是绝对的(但是对于内部的东西),有时是外部的)正常工作,如果它们链接到已经下载(镜像)的东西,它们工作正常(没有互联网连接) ,但如果它们链接到外部或未被镜像的东西,则链接到外部网站。 基本上所以他们按预期工作。

另一个问题是,你必须login访问该网站。

可以用wget来实现这个还是有更好的办法?

无论如何,我怎么做到这一点?

(我已经在stackoverflow.com/questions/2190115/wget-mirroring-subdomains-and-directories-and-cookies问这个问题,但build议我尝试在这里问)

首先,您必须login到服务器,有两种可能性,您的login通过http auth完成,在这种情况下,执行如下操作:

wget -k -r -m -np --user=foo --password=bar http://user.domain.com/room/2324343/transcript/ 

应该这样做。

现在,如果您需要通过表单login,则必须分两步进行操作,首先login,然后镜像,然后执行以下操作:

 wget --save-cookies cookies.txt --post-data 'user=foo&pass=bar' http://user.domain.com/room/2324343/transcript/ wget -k -r -m -np --load-cookies cookies.txt http://user.domain.com/room/2324343/transcript/ 

对于第一行,url可能不正确,因为表单可能会把你发送到一个完全不同的地方,将你送回到正确的地方,而数据后的参数是一个例子,你必须弄清楚不pipe是通过查看页面的源代码,还是使用浏览器的一些扩展名,比如Firefox的firebug,