delphi 之 get post


沒測試過這個

var 
     Source:   TMemoryStream; 
     Response:   TStringStream   ; 
 begin 
 try 
         //   Set   the   properties   for   HTTP 
         idHTTP.Request.Username   :=   'www '; 
         idHTTP.Request.Password   :=   'www '; 
 //         idHTTP1.Request.ProxyServer   :=   '11.133.190.13 '; 
 //         idHTTP1.Request.ProxyPort   :=   StrToIntDef( '80 ',   80); 
         idHTTP.Request.ContentType   :=   'application/x-www-form-urlencoded '; 
           Response   :=   TStringStream.Create( ' '); 
             try 
                     Source   :=   TMemoryStream.Create; 
                     try 
                         Source.LoadFromFile( 'unsub.xml ');   //發送這個XML包,反向取消請求 
                         idHTTP.Post( 'http://222.333.444.555/dsmp/dsmp.wsdl ',   Source,   Response); 
                     finally 
                       //   Source.Free; 
                     end; 

                 memo.Lines.Text   :=   Response.DataString;//返回的字串,可以把它存為XML就可以 
                 memo.Lines.SaveToFile( 'unsubresp.xml ');         //返回的反向取消應答包 
             finally 
                 Response.Free; 
             end; 
     finally 
     end

這個方法試了 可以用

以下僅供參考,要求在web頁面寫特殊的字符,根據返回的結果判斷是否登陸成功,用戶名,密碼方式見下:

View Code
procedure   TForm1.Button1Click(Sender:   TObject); 
 var 
     Url:   string; 
     Response   :   TStringStream; 
     Request   :   TStrings; 
 begin 
     Memo1.Clear; 
     Response   :=   TStringStream.Create( ' '); 
     try 
         Request   :=   TStringList.Create; 
         try 
             Request.Append( 'txtUserId=hengli&txtPassword=ysj); 
             url   :=   'http://192.168.1.33/nmmis/index.aspx '; 
             IdHTTP1.Request.ContentType   :=   'application/x-www-form-urlencoded '; 
             IdHTTP1.Post(Url,   Request,   Response); 
             Memo1.Lines.Text   :=   Response.DataString; 
         finally 
             FreeAndNil(Request); 
         end; 
     finally 
         FreeAndNil(Response); 
     end; 
 end;

通過idhttp上傳文件到web上,然后返回上傳的文件路徑。

View Code
function   UpLoagFile(FileName:   String):   string; 
 var 
     obj   :   TIdMultiPartFormDataStream; 
     Url:   String; 
 begin 
     obj   :=   TIdMultiPartFormDataStream.Create; 
     try 
         obj.AddFile( 'Image ',FileName,   GetMIMETypeFromFile(FileName)); 
         http.Request.ContentType   :=   obj.RequestContentType; 
         obj.Position   :=   0; 
         Url   :=     'http://192.168.1.44/insertImage.aspx '; 
         Result   :=   http.Post(Url,   obj); 
     finally 
         obj.Free; 
     end; 
 end; 

 服務端,C#: 
 private   void   Page_Load(object   sender,   System.EventArgs   e) 
 { 
         foreach(string   f   in   Request.Files.AllKeys) 
         {   
                 string   fileName,   fullName; 
                 HttpPostedFile   postFile   =   Request.Files[f];   
                 if   (postFile.ContentLength   >   10) 
                 {   
       fileName   =   postFile.FileName; 
       //GetFileName(   fileName,   out   fullName   ); 
       fullName   =   "UpLoad/aaa.jpg " 
       postFile.SaveAs   (   Server.MapPath   (   fullName   )   ); 
       Response.Write   (fullName); 
 } 
         } 
 }

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM