2013-06-21 47 views
0

我使用突觸庫lib,我想通過http post發送一個字符串到PHP Api。如何發送帶有突發鏈接庫的http post的json字符串?

這是我最終的json字符串,我想通過http post發送到API。

{"os":"Windows7", "architecture":"64", "date":"20.06.2013", "version": "3.22", "name":"TestVM-PC"} 

var sSendString: String; 
sSendString := '{"os":"Windows7", "architecture":"64", "date":"20.06.2013", "version": "3.22", "name":"TestVM-PC"}'; 

我發現這個樣本程序後的參數,但我不知道現在怎麼樣正確地發送一個JSON字符串(sSendString)的API。

procedure HTTPPost; 
var URL: string; 
    Params: string; 
    Response: TMemoryStream; 

begin 
    Response := TMemoryStream.Create; 

    try 
    URL := 'http://testserver.com/api/add_customer'; 

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

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

    finally 
    Response.Free; 
    end; 
end; 

所以有人可以幫我fixx我的問題,並展示我不得不改變我的JSON字符串發送到API,它線條。在此先感謝

+0

您將使用http嗅探器來檢查您的程序是否符合HTTP規範,關於編碼和任何內容。 http://stackoverflow.com/questions/17198859/file-upload-on-wamp-or-xampp-locahost-server-without-the-script#comment24929798_17198859你也沒有指定什麼數據類型是'字符串',也沒有指定德爾福問題。閱讀這些評論,它們或多或少地適用於您的案例 –

回答

1

我也在我的項目中使用突觸。爲了讓我的工作更簡單快捷,我使用Synapse編寫了THTTPSendEx類,可以快速使用代碼和更多功能。 目前這是一個測試版本。

它像Indy一樣的意見。

創建THTTPSendEx類。 從它的原型創建方法OnBeginWork,OnWork,OnWorkEnd原型(請參閱pas文件),並將其分配給創建的類。 這就是所有你需要指出HTTP請求的進度,並且只需調用該類的GET,POST函數。 也有類很簡單,「INDY like」,GET方法,POST請求與許多不同的輸入和輸出數據類型。嘗試一下。

You can see it at my web-site

如果您對此有任何意見,請將其作爲項目頁面的評論。

對不起,我有英語錯誤。

+0

您是否可能將您的網頁翻譯成英文?谷歌翻譯真的很吸引俄語:x – Hidden

+0

是的,在接下來的幾天我翻譯成英文。 – Alexandr

+0

我翻譯它。 – Alexandr