delphi post資料與對應的接收方式

2021-08-19 17:20:13 字數 2128 閱讀 5172

前幾天研究了下post的方式和伺服器的接收處理,環境delphi10.1,首先說客戶端post資料,採用idhttp,有兩種方式,一種是字串,一種是流如下:

1.psot字串的方式

vars: string;

stm: tstringstream; //接收返回內容

send:tstringlist;   //post的內容

begin

send:=tstringlist.create;

send.text:='要post的內容';

'name=張三'); //也可以按照不同的引數賦值

'***=男');

memo2.lines.text:=stm.datastring; //服務端返回的內容

except

result := false;

end;

stm.free;

send.free;

2.通過流的方式post

vars,res:string;

stm:tstringstream;

begin

s:='要post的內容,比如說xml格式的文字';

stm := tstringstream.create(s, tencoding.utf8);

stm.position := 0;

tryres:=idhttp1.post('url位址', stm);

memo2.lines.text:=res; //服務端返回的內容

finally

stm.free;

end;

下面是服務端接收處理,服務端採用idhttpserver,在oncommandget事件中處理資料

arequestinfo.contenttype := 'text/html;charset=utf-8';

path := arequestinfo.document; //訪問的路徑

if uppercase(arequestinfo.command) = 'post' then

begin

//接收post字串的處理

// memo1.lines.add(arequestinfo.params.values['name']) ;

//按引數名稱接收

// memo1.lines.add(arequestinfo.params.values['***']); 

//    memo1.lines.add('formparams:'+arequestinfo.formparams); //所有資料

//    memo1.lines.add('params:'+arequestinfo.params.text);

//    arequestcontent:= arequestinfo.unparsedparams;

arequestcontent := arequestinfo.params.gettext;

//下面是接收資料流的處理過程

// if (arequestinfo.poststream <> nil) and (arequestinfo.poststream.size > 0) then

// bergin

//      arequestinfo.poststream.position := 0;

//      arequestcontent := streamtostring(arequestinfo.poststream);

// end;

arequestcontent := tiduri.urldecode(arequestcontent);  //解決漢字亂碼問題

// 資料處理過程

aresponseinfo.contenttype := 'text/html';

aresponseinfo.charset := 'utf-8';

aresponseinfo.contenttext := '根據處理過程返回客戶端資訊';

aresponseinfo.writecontent;

ADO Data Types與資料庫對應

datatype enum value access sqlserver oracle adbigint 20bigint sql server 2000 adbinary 128binary timestamp raw adboolean 11yesno bitadchar 129char cha...

Cube 資料 與 DW 資料對應不上

場景 時間維度表 字段 日期 收費事實表 字段 金額,收費日期,就診編號 管理 使用維度表的 日期欄位與事實表的 收費日期字段 進行關聯,建立多維度資料集。問題 dw 9月份資料是 10000 sql 查詢資料庫結果 select sum 金額 from 收費事實表 where 收費日期 2013 ...

C 資料型別與C 對應關係

正在做東進語音卡程式的開發,人家不預備c 的sdk,只好自己寫,pinvoke,其中用到了很多轉換,這裡 乙個先 c 輸入輸出 c c 輸入輸出 c char chr 255 o stringbuilder kca dir i int lpcstr i string int i int lpstr ...