您现在的位置:首页 >> API >> API >> 内容

IIS过滤器,怎么能捕获到请求的URL并修改后转向

时间:2011/9/3 15:44:48 点击:

  核心提示:我从网上找到一些资料,用GetFilterVersion和HttpFilterProc写了一个过滤器,可是取不到全部地址串,只能取到“www.test.com”如何才能取到全部地址串,并在处理后再分别...
我从网上找到一些资料,用GetFilterVersion和HttpFilterProc写了
一个过滤器,可是取不到全部地址串,只能取到“www.test.com”
如何才能取到全部地址串,并在处理后再分别转向到不同的网址??

//------------向对方发回信息 两种方案(1 发送 HTML内容给对方,2 打开服务器已有文件内容给对方)---------------------
                    if URL_TempFile='' then
                      BEGIN
                        sMsg:='<head><title>IISColander(' + IISColanderSession.SessionWebUrl + ')为本站提供 防盗链 保护</title></head><body><h1>文件跳转</h1>';
                        sMsg:=sMsg+'IISColander(' + IISColanderSession.SessionWebUrl + ')为本站提供 防盗链 保护 <a HREF=http://';
                        sMsg:=sMsg+ sWebSite  +'/ErrorFile/' + IISColanderSession.SessionErrorFile_GetUrl +'?URL="'+  sURL + sQUERY_STRING +'">跳转</a></body>';
                        sMsgLen:=length(sMsg);
                        Try
                        sHead:= 'Location: http://'+ sWebSite + '/ErrorFile/' + IISColanderSession.SessionErrorFile_GetUrl+'?URL="' +  sURL + sQUERY_STRING+'"'  + #13#10;
                        pfc.AddResponseHeaders(pfc,pchar(sHead),0);
                        sHead:= '302 IISColander(' + IISColanderSession.SessionWebUrl + ')为本站提供防盗链保据';
                        pfc.ServerSupportFunction(pfc, SF_REQ_SEND_RESPONSE_HEADER, PChar(sHead), 0, 0);
                        pfc.WriteClient(pfc, PChar(sMsg), sMsgLen, 0);
                        Except
                        IISColanderSession.WriteLog('Error: 防盗链回信息于对方操作失败'); //日志记录点
                        End;
                        Result:=SF_STATUS_REQ_FINISHED; 
                        End
                      Else
                        Begin
                          Try
                          IISColanderSession

作者:网络 来源:转载
共有评论 0相关评论
发表我的评论
  • 大名:
  • 内容:
本类推荐
  • 没有
本类固顶
  • 没有
  • 盒子文章(www.2ccc.com) © 2022 版权所有 All Rights Reserved.
  • 沪ICP备05001939号