wget:下载使用表单密码保护的网站

wget:下载使用表单密码保护的网站

我在使用 下载网站时遇到问题wget

首先我需要使用用户名和密码登录网站:

wget --save-cookies cookies.txt --post-data --cookies=on --keep-session-cookies
     --post-data="strUser=用户名&strPW=密码"
     http://主机名/wwwawelle/member/nixlog.asp

然后我尝试下载完整的网站http://主机名/wwwawelle/成员/

wget -k -r -m -np --load-cookies cookies.txt
     http://主机名/wwwawelle/member/80_01_member.asp

我收到回复说我尚未登录,然后它将我重定向到:

http://主机名/wwwawelle/member/nixlog.asp?grund=notloggedin

有任何想法吗?

HttpFox

00:00:07.712    0.193   597 301 POST    302 Redirect to: 80_01_member.asp   http://hostname/wwwawelle/member/login.asp
00:00:07.943    0.255   481 11957   GET 200 text/html   http://hostname/wwwawelle/member/80_01_member.asp
00:00:08.232    0.060   428 (6054)  GET (Cache) text/css    http://hostname/wwwawelle/style.css
00:00:08.260    0.051   420 (589)   GET (Cache) application/x-javascript    http://hostname/wwwawelle/news/jscr_inc.js

饼干

ASPSESSIONIDCSATRCQQ    APPIOGADBMLHOMFHCALPBFNL    /   hostname    End Of Session

发布数据

strUser username
strPW   password
Abschicken  Anmelden

wget cookies.txt

# HTTP cookie file.
# Generated by Wget on 2011-03-28 14:23:17.
# Edit at your own risk.

hostname    FALSE   /   FALSE   0   ASPSESSIONIDCSATRCQQ    EBAJOGADDHGHCANLKJCMDCPP

答案1

如果网站使用 cookie 保存会话,您可以使用浏览器登录,然后让 wget 使用适当的 cookie 继续访问网站。但是,如果网站使用其他方式,例如 PHP $_SESSION 变量,那么您就没那么幸运了。

如果这是您有合法访问权限的网站,您当然可以配置其他访问方式。另一方面,如果您没有合法访问权限,而只是试图窃取他人的网站(这是我从您的问题中得到的印象),我希望您失败。

答案2

可能是该网站正在检查refereruser-agent等。

查看HttpFox篡改数据Firefox 插件。它们可让您查看/操作任何服务器的数据。请务必记下来自服务器的任何重定向和 cookie。

答案3

在 URL 之前尝试这个:

wget username:password@http://me.com/me.html

相关内容