我在使用 下载网站时遇到问题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
可能是该网站正在检查referer
、user-agent
等。
查看HttpFox和篡改数据Firefox 插件。它们可让您查看/操作任何服务器的数据。请务必记下来自服务器的任何重定向和 cookie。
答案3
在 URL 之前尝试这个:
wget username:password@http://me.com/me.html