2008-12-11 249 views

回答

1

查看ICS組件,它們適合這項工作。

4

或者看看開源的Synapse庫。在HTTPSend單元中有一些簡單的函數調用,這使得這完全無痛。只需使用示例函數/過程作爲PUT/DELETE的模型即可。現有的例程已經提供了POST和GET。區別在於通過的方法。

就我個人而言,我發現這個庫與REST一起工作是完全匹配的。它簡單,寫得很好,很容易擴展。

例如,下面是一個簡單的放發送和接收流:

function HttpPutBinary(const URL: string; const Data: TStream): Boolean; 
var 
    HTTP: THTTPSend; 
begin 
    HTTP := THTTPSend.Create; 
    try 
    HTTP.Document.CopyFrom(Data, 0); 
    HTTP.MimeType := 'Application/octet-stream'; 
    Result := HTTP.HTTPMethod('PUT', URL); // changed method from 'POST' 
    Data.Size := 0; 
    if Result then 
    begin 
     Data.Seek(0, soFromBeginning); 
     Data.CopyFrom(HTTP.Document, 0); 
    end; 
    finally 
    HTTP.Free; 
    end; 
end; 
相關問題