USEGEAR

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

学习unigui【28】UniGUI接收POST/GET

小儿科问题,直接上流程代码:

 

复制代码
 1 procedure TUniServerModule.UniGUIServerModuleHTTPCommand(
 2   ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo;
 3   var Handled: Boolean);
 4   var
 5       JSONData: TBytes;
 6   JSONString: string;
 7 begin
 8 //  Result := False;
 9 
10   // 判断路径是否是 /queryData
11   if ARequestInfo.URI = '/queryData' then
12   begin
13     // 处理GET请求
14     if ARequestInfo.Command = 'GET' then
15     begin
16       AResponseInfo.ContentText := '成功接收GET请求,参数为:' + ARequestInfo.Params.Text;
17       AResponseInfo.ResponseNo := 200; // HTTP 200 OK
18       Handled := True;
19 //      Result := True;
20     end
21     // 处理POST请求
22     else if ARequestInfo.Command = 'POST' then
23     begin
24 
25     // 确保 PostStream 有数据
26       if Assigned(ARequestInfo.PostStream) then
27       begin
28         // 将PostStream转换为字节数组
29         SetLength(JSONData, ARequestInfo.PostStream.Size);
30         ARequestInfo.PostStream.Position := 0; // 重置流位置
31         ARequestInfo.PostStream.ReadBuffer(JSONData[0], ARequestInfo.PostStream.Size);
32 
33         // 使用 UTF-8 将字节数组转换为字符串
34         JSONString := TEncoding.UTF8.GetString(JSONData);
35 
36         AResponseInfo.ContentText := '成功接收POST请求,JSON参数为:' + JSONString;
37         AResponseInfo.ResponseNo := 200; // HTTP 200 OK
38       end
39       else
40       begin
41         AResponseInfo.ContentText := 'POST请求没有包含任何数据';
42         AResponseInfo.ResponseNo := 400; // HTTP 400 Bad Request
43       end;
44 
45 
46 
47       Handled := True;
48     end
49     else
50     begin
51       AResponseInfo.ContentText := '不支持的请求方法';
52       AResponseInfo.ResponseNo := 405; // HTTP 405 Method Not Allowed
53       Handled := True;
54 //      Result := True;
55     end;
56   end
57   else
58   begin
59 //    AResponseInfo.ContentText := '404 - 未找到路径';
60 //    AResponseInfo.ResponseNo := 404; // HTTP 404 Not Found
61   end;
62 end;
View Code
复制代码

结果:

 

posted on   USEGEAR  阅读(96)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
历史上的今天:
2021-10-16 TDXSpreadSheet中自定义公式函数三大步骤
2015-10-16 opencv学习HighGUI图形用户界面初步【1】
点击右上角即可分享
微信分享提示