需要用到所以写了下,就是利用idhttp的post登录,然后就直接获取到response里的内容,需要匹配下,我就用PerlRegEx来正则匹配了,然后用inifile保存下地址和访问密码,具体思路就是这样,当然实现起来还需要一些东西,下面是我收集的:
51啦的登录post地址:
http://www.51.la/report/0_help.asp
今日流量的正则:
(?<=今日流量)([\d]*?)(?=IP)
过滤一些无用字符串的正则:
(</?[^>]+>)|(#$D#$A)|\s|\t
下面是登录51la的部分源码:
PostStr := 'id='+laId+'&t=chalogin&lookpass='+edtpass.Text;
idhtp1.HandleRedirects := True;
idhtp1.Request.ContentType := 'application/x-www-form-urlencoded';
stream := TStringStream.Create(PostStr);
try
s:=idhtp1.Post(LoginUrl,stream);
s := DelStr(s,NeedDel);
edtTodayIP.Text := GetTodayIP(s);
edtExpIP.Text := GetExpRegx(s);
if (edtTodayIP.Text = '') or (edtExpIP.Text = '') then
statbar.Panels[1].Text := '请确认你的地址和密码正确!'
else
statbar.Panels[1].Text := '已经获取.'
finally
stream.Free;
end;
具体我也就不解释了,没什么复杂的,下面来张效果图片:
最后是下载地址了,如果有需要源码的可以联系我,我会发到你的邮箱。
转载请注明: 本文《idhttp获取51la访问情况》来源于bstaint的博客
没有评论:
发表评论