Delphi idHttpServer接收Http Get请求解码问题


本文整理自网络,侵删。

 
引用 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 excel操作,写了个adodataset转excel的函数

Delphi wmi 取显卡gpu信息

Delphi 服务器群集解决方案

Delphi 修改webbrowser的内容

Delphi 从一个html返回所有的图片链接

Delphi android 程序名称在哪里设置?

Delphi 禁止用户关闭操作系统

Delphi getwindowhandle

Delphi twebbrowser:确定带有框架的页面何时完成

Delphi中判断webbrowser的页面是否加载完成

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...