• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

DelphiidHttpServer接收HttpGet请求解码问题

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

引用 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;

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
用DELPHI中Canvas特性开发图形软件---TCanvas方法说明发布时间:2022-07-18
下一篇:
Delphi第一次实验报告--简单计算器和程序发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap