2011-06-09 109 views

回答

8

嘗試使用HttpPostURL函數。

function HttpPostURL(const URL, URLData: string; const Data: TStream): Boolean; 

URL - 目標URL
URLData - URL參數;必須被編碼,例如使用EncodeURLElement功能
Data - 目標流,其中該響應將被存儲

下面的示例使用testing POST server其中發送兩個POST參數。注意使用EncodeURLElement函數編碼參數數據。如果POST成功,則將服務器響應保存到文件中。

uses HTTPSend, Synacode; 

procedure TForm1.Button1Click(Sender: TObject); 
var URL: string; 
    Params: string; 
    Response: TMemoryStream; 

begin 
    Response := TMemoryStream.Create; 

    try 
    URL := 'http://posttestserver.com/post.php?dump&html'; 

    Params := 'parameter1=' + EncodeURLElement('data1') + '&' + 
       'parameter2=' + EncodeURLElement('data2'); 

    if HttpPostURL(URL, Params, Response) then 
     Response.SaveToFile('c:\response.txt'); 

    finally 
    Response.Free; 
    end; 
end; 
相關問題