例  asp页面中有一个 bool chkuser(string user,string pass) 函数
构造网络路径如下 http://192.100.100.1/login.aspx?user=aaa&password=aaa
返回真表示登录成功返回假表示登录失败那么我用DELPHI开发WIN32的程序怎么得到提交上面那个网址后所返回的值呢?

解决方案 »

  1.   

    使用ICS之类的控件,将参数aaa,aaa GET给login.aspx文件,然后获取返回值Function GetOtherURL(Var NowUrl:String;HttpCli:THttpCli):String;
    Var
      DataIn:TMemoryStream;
      DataOut:TMemoryStream;
      Buf:String;
      HtmlCode:String;
    Begin
      //分离出正确的地址
      NowUrl := AnsiReplaceText(NowUrl,'http://','');
      IF Pos('/',NowUrl) > 0 Then NowUrl := LeftStr(NowUrl,Pos('/',NowUrl)-1);
      DataIn:=TMemoryStream.Create ;
      DataOut:=TMemoryStream.Create ;
      Buf := '&action=signin'+
             '&doneurl=%2Fmembers%2Freverse-ip.html%3Flookup%3D'+NowUrl+''+
             '&[email protected]'+
             '&password=passc001'+
             '&rememberlogin=forever';
      Try
        DataOut.Write(Buf[1],Length(Buf));
        DataOut.Seek(0,soFromBeginning);
        HttpCli.SendStream := DataOut;
        HttpCli.RcvdStream := DataIn;
        HttpCli.URL := 'http://www.whois.sc/members/';
        Try
          HttpCli.Post;
          DataIn := Form1.HttpCli1.RcvdStream as TMemoryStream;
          DataIn.Seek(0, soFromBeginning);
          SetLength(HtmlCode, DataIn.Size);
          DataIn.Read(HtmlCode[1], DataIn.Size);
        Except
          result := '对不起有错误发生,请稍后再试。或者检查您的网络情况';
          Exit;
        End;
      Finally
        DataOut.Free ;
        DataIn.Free ;
      End;
      //HtmlCode := Buf;
      result:=HtmlCode;
    End;
      

  2.   

    可以获取得到COOKIES SESSION之类的吗