curl -d 也可
这段时间需要用wget做一些事情,主要是抓取网页的数据工作,发现wget还是很强大的。下面是一些应用场景:
1. 简单页面的抓取 wget的最基本用法
wget http://domain.com/path/simple_page.html
2. 添加自己的head 有些网站或者页面,需要额外的认证,所以需要添加额外的HTTP Header,使用方法:
wget --header="MyHeader: head_value" http://domain.com/path/page/need_header.php
3. 伪装成浏览器 有些网站,例如facebook,会检测请求方式是否是浏览器,如果不是正常的浏览器,那么会redirect到一个"incompatible browser"的错误页面。这时候需要wget伪装成一个浏览器(我是Mozilla Firefox!):
wget --user-agent="Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 (.NET CLR 3.5.30729)" http://domain.com/path/page/check_user_agent.php
4. post数据到某个页面 wget不光可以用get方式请求网页,还可以post data的,那样就可以实现自动注册、自动登录了(有验证码的页面除外。。。。)
wget --post-data="user=user1&pass=pass1&submit=Login" http://domain.com/login.php
5. 访问需要登录的页面 有些页面的访问需要登录,访问的时候需要传递cookie,这时候就需要和上面提到的post方式结合。一般过程是:post用户名和密码登录、保存cookie,然后访问页面时附带上cookie。
wget --post-data="user=user1&pass=pass1&submit=Login" --save-cookies=cookie.txt --keep-session-cookies http://domain.com/login.php
wget --load-cookies=cookie.txt http://domain.com/path/page_need_login.php
暂时就探索到这些,以后有什么新的用法,继续补充。
本文出自 “智能化未来_XFICC” 博客,请务必保留此出处http://xficc.blog.51cto.com/1189288/1624763
原文:http://xficc.blog.51cto.com/1189288/1624763