idhttp获取51la访问情况

需要用到所以写了下,就是利用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的博客

没有评论: