正在做模拟登录。碰到若干问题,也稍稍整理了下思路,明白不少。
同事写的php登录facebook 抓取,工作正常。
照猫画虎用perl写的http请求登录,遇到登录后报302,不得其解。暂停
今天看过响应头信息,已解决。
Content-Encoding | gzip |
Vary | Accept-Encoding |
Date | Thu, 11 Aug 2011 08:10:13 GMT |
Connection | Keep-Alive |
Keep-Alive | timeout=5, max=100 |
Expires | Thu, 19 Nov 1981 08:52:00 GMT |
Cache-Control | no-store, no-cache, must-revalidate, post-check=0, pre-check=0 |
Pragma | no-cache |
Location | index.php |
Content-Type | text/html |
Content-Length | 20 |
报告302,没有response信息
原来浏览器根据响应头中locaiton进行重定向请求
日后把程序都贴上来。
用java写有三种做法:
1.socket编程。没用过。练习过。
2.java原生支持:java.net.URL
3.HttpClient:已经从commons 下的一个包升级 为独立项目,版本号也有原来的3变为 HttpClient4.x
模拟登录需要在http请求中加入参数,以及传入Cookie
要发参数包括什么?
使用firebug都能看到。
参数,头信息,等等,随后上图