本文整理自网络,侵删。
引用 Httpapp单元,使用Httpdecode函数进行解码
procedure TFrmMain.HTTPServerCommandGet(AThread: TIdPeerThread; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);var RespStr,recvText: string; msgText: string;begin CoInitialize(nil); try try msgText := 'Log|【'+FormatDateTime('yyyy-mm-dd hh:mm:ss',Now)+'】'+Format('收到请求:类型:%s, 路径:%s,来自:%s:%d', [ARequestInfo.Command, ARequestInfo.Document, TIdIOHandlerSocket(AThread.Connection.IOHandler).Binding.PeerIP, TIdIOHandlerSocket(AThread.Connection.IOHandler).Binding.PeerPort]);
SendMessage(FrmMain.Handle,MYTHREAD_MESSAGE,Integer(@msgText),1); if ARequestInfo.Command = 'GET' then recvText := Utf8ToAnsi(Httpdecode(ARequestInfo.QueryParams)) //引用 Httpapp else if ARequestInfo.Command = 'POST' then//post recvText := Utf8ToAnsi(ARequestInfo.FormParams);if (Pos(LowerCase('/api/getBusinessHallStatus'), LowerCase(ARequestInfo.Document)) = 1) then //查询营业厅状态接口 begin RespStr := Httpserver_getBusinessHallStatus(recvText); end begin RespStr := 'URL路径未定义'; end; AResponseInfo.ContentType := 'text/HTML;charset=utf-8'; AResponseInfo.ContentText := AnsiToUtf8(RespStr);except on e: Exception do begin msgText := 'ErrorLog|【'+FormatDateTime('yyyy-mm-dd hh:mm:ss',Now)+'】执行HTTPServerCommandGet发生异常,原因::'+e.Message; SendMessage(FrmMain.Handle,MYTHREAD_MESSAGE,Integer(@msgText),1); end; end; finally CoUninitialize; end;end;
来源:https://blog.csdn.net/weixin_33924770/article/details/86399065
相关阅读 >>
Delphi中的处理事件 application.processmessages
更多相关阅读请进入《Delphi》频道 >>