下边我们以2ccc的用户登陆为例子
我写的DEMO也将按2CCC的用户登陆为标准。
登陆按钮点击的时候会发送以下数据
-----------------------------------------------------------------
POST /login.asp HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/msword, */*
Referer: http://www.2ccc.com/
Accept-Language: zh-cn
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; Maxthon; Poco 0.31; .NET CLR 1.1.4322)
Host: www.2ccc.com
Content-Length: 44
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: ASPSESSIONIDQQSBDARR=BHLAIHMCKJEIOFLPFJOAAPCO
act=1&membername=xebaobei&memberpass=nmmnmm
------------------------------------------------------------------
--这是HTTP协议的TCP数据包-----------------------------------------
POST 为提交方式,这个来自于网页表单中的 method="post"
跟在其后的是数据提交地址 /login.asp
全地址等于 Referer+/login.asp = http://www.2ccc.com/login.asp
Host: www.2ccc.com 为服务器
Cookie: 这个是COOKIES
最后一行是发送的变量,每个变量用 "&" 分隔. 请注意 变量前一行根据我观察大部分时候为空.
而且只有提交表单时候变量才以这样的形式传递,平时可以用
http://www.2ccc.com/login.asp?act=1&membername=xebaobei&memberpass=nmmnmm
所以我们可以通过截获到的数据来判断是否是按钮提交。
目前网络中大部分网页,如BBS等 其中的提交并非直接提交,而是经过调用JAVASCRIPT先做些基础的判断再实现的。
所以这种方式并非可以截获所有的按钮点击。
好消息!
我掐成网线了。