本帖最后由 woai_zhuzhu 于 2012-12-04 00:05:12 编辑

解决方案 »

  1.   

    问题太笼统了
    1.参考WebBrowser
    2.参考IdHTTP
      

  2.   

    求一登录网站的DEMO
    EDIT1=帐号.txt{文本内容一行一组数字}
    EDIT2=密码.txt{文本内容一行一组数字}
    用一按钮来检测文本里面的哪组数字为可登录的帐号和密码。
      

  3.   

    百度下的時間可能比你發帖子的時間用得還要少。好久前寫的可參考 :http://hi.baidu.com/devhp/item/a581967b7b093f3e7044237e
      

  4.   

    function Login(const Username,Password: string): Boolean;
    var
      html :string;
    begin
      Result :=False;
      Account :=UserName;
      
      IndyHttp :=TIdHTTP.Create(nil);
      IndyCookieManager :=TIdCookieManager.Create(nil);
      IndyHttp.CookieManager :=IndyCookieManager;
      IndyZlib :=TIdCompressorZLibEx.Create(nil);
      IndyHttp.Compressor :=IndyZlib;
      PostParams :=TStringList.Create;
      
      IndyHttp.Request.CacheControl :='no-cache';
      IndyHttp.Request.Connection :='Keep-Alive';
      IndyHttp.Request.Accept :='text/html, application/xhtml+xml, */*';
      IndyHttp.Request.ContentType :='application/x-www-form-urlencoded';
      IndyHttp.HandleRedirects :=True;
      IndyHttp.AllowCookies :=True;
      IndyHttp.HTTPOptions :=[hoForceEncodeParams];  IndyHttp.Get('http://192.168.0.1/Default.aspx');  PostParams.Clear;
      PostParams.Add('account='+Username);
      PostParams.Add('password='+Password);
      IndyHttp.Request.Referer :='Referer http://192.168.0.1/Default.aspx';
      html :=IndyHttp.Post('http://192.168.0.1/Login.ashx',PostParams);
      if Pos('{Userinfo:[{result:"1"}]}',html)>0 then   //ajax
        Result :=True;
    end;
      

  5.   

    与网页的验证限制有关的
    简单的,Twebbrowser控件或idhttpclient控件都可以
      

  6.   

    用WebBrowser模拟打开登录网页,然后获取指定文本的帐号和密码填入网页的帐号密码输入框。
      

  7.   

    这个是自动注册的,可以给你做参考 http://blog.csdn.net/sushengmiyan/article/details/8088156
      

  8.   

    我刚做过一个,用Indy和正则表达式。
    先Wireshark抓包,分析post的参数如何post进去的。
    实现是通过Indy登陆系统后模拟post,get,得到源码,统计信息后通过短信发送出去。