Delphi 利用idhttp.post登录网页

1,使用 火狐浏览器2.0在工具-页面信息-表单- 获得所有表单信息
2,按14楼mu_x 说的,把表单 字段名称和当前值 都写进去

procedure TForm1.Button1Click(Sender: TObject);
var
postList: TStrings;
Response: TStringStream;

begin;
      Response := TStringStream.Create('');
      postList := TStringList.Create;
      try
          IdHTTP1.Request.UserAgent:='Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Maxthon)';
          postList.Add('__EVENTTARGET=');
          postList.Add('__VIEWSTATE=/wEPDwUJLTI5NjAzODk2ZBgBBR5fX0NvbnRyb2xzUmVxdWlyZVBvc3RCYWNrS2V5X18WAQULY2hrUmVtZW1iZXKHW0DW4nQrSrBHBomKrt3/MjtBLA==');
          postList.Add('__EVENTVALIDATION=/wEWBQKE2u7lCQLyj/OQAgK3jsrkBALR55GJDgKC3IeGDO8x1Jd0k/hBY1a/6Yl9fTpP16ti');
          postList.Add('tbUserName=用户名称');
          postList.Add('tbPassword=用户密码');
          postList.Add('chkRemember=');
          postList.Add('btnLogin=登 录');
          IdHTTP1.Post('http://passport.cnblogs.com/login.aspx',postList,Response);
      finally
          Memo1.Lines.Text := Utf8ToAnsi(Response.DataString);
          Response.Free;
          postList.Free;
      end;

end; 

如果转向将 idhttp handleredirc设置为True

posted @ 2013-03-15 17:41  hanks  阅读(437)  评论(0)    收藏  举报