想用INDY的 IDHTTP组件实现对网页多线程POST,无奈IDTCPSERVER有多线程DEMO,找不到idhttp的DEMO,自己尝试多天未果,不知哪位朋友可以支招,最好详细一点,在多线程方面,我没有任何经验.如果有完整DEMO,将另开贴加100分.

解决方案 »

  1.   

    建立一个线程,把IdHttp封装在该线程中,运行多个线程
      

  2.   

    开线程,在每个线程里面使用以下上传函数
    function Tfrm_Main.UpFileEx(FileName : string): string;           /// 上传函数
    var
      MutPartForm: TIdMultiPartFormDataStream;
      URL1, URL2 , RealName, FilePath : String;
      stringlist : TStringlISt;
    begin
    //  filename := 'E:\test.xls';
      URL1 := 'http://asdfsdf.com/user/users_login1.jsp?username=test&password=123'; //登录
      URL2 := 'http://asdfsdf.com/upload/uploads.jsp'; //上传
      MutPartForm := TIdMultiPartFormDataStream.Create;
      try
        IdHTTP1.Get(URL1);  //登录进入上传页面    MutPartForm.AddFormField('userName','test');       //
        MutPartForm.AddFormField('uploadFile',' ');
        MutPartForm.AddFormField('submit','submit');   //submit1 提交按钮
        MutPartForm.AddFile('uploadfile',filename,'');
        Result := IdHTTP1.Post(URL2,MutPartForm);
       
      finally
        MutPartForm.Free;
      end;
    end;