前幾天研究了下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 ...