一个以电子商务为主的信息资讯门户网站——165163.com
网站首页 | 信息资讯 | 网上商城 | 企业黄页 | 人才市场 | 供求信息 | 房产交易 | 二手市场
消费e店 | 时尚生活 | 在线影院 | flash动漫 | 笑话频道 | 真情交友 | 电子相册 | 博客日志
您所在的位置:东阳在线 > > 电脑网络 > 网页编程 浏览正文
IIS过滤器实现替换字符串一法
165163.com  发布:2008-3-16 15:24:23  来自:转载  浏览:

编写ISAPI FILTER,在IIS向浏览器发送反馈之前,替换掉.NET的输出内容。该演示使用VC6.0+IIS5.0+WINXP SP2

假设我们想把yahoo.com替换为im286.com,其原文件为:

<html>
<body>
<A HREF="http://www.yahoo.com">http://www.yahoo.com</A>
</body>
</html>


1、新建工程,选择ISAPI Extension Wizard,项目名称假设就叫:bababian

2、在向导中第一步,选择Generate a Filter object

3、在向导中第一步,选择Outgoing raw data and headers

4、创建了工程后,我们选择OnSendRawData进行处理,代码如下:

DWORD CBababianFilter::OnSendRawData(CHttpFilterContext* pCtxt,
        PHTTP_FILTER_RAW_DATA pRawData)
{
                char* pchIn = (char*)pRawData->pvInData;
                for(DWORD cbBuffer=0; cbBuffer<pRawData->cbInData;cbBuffer++){   
                if((pchIn[cbBuffer]==y)&&
                        (pchIn[cbBuffer+1]==a)&&
                        (pchIn[cbBuffer+2]==h)&&
                        (pchIn[cbBuffer+3]==o)&&
                        (pchIn[cbBuffer+4]==o)){

                        pchIn[cbBuffer]=i;
                        pchIn[cbBuffer+1]=m;
                        pchIn[cbBuffer+2]=2;
                        pchIn[cbBuffer+3]=8;
                        pchIn[cbBuffer+4]=6;
                }
        }
        return SF_STATUS_REQ_NEXT_NOTIFICATION;
}


5、编译后,在IIS里加载该FILTER,然后重新启动IIS。

6、在浏览器里察看效果。

(编辑:) 留言评论】【在线投稿】【打印网页】【关闭窗口】【↑顶部
  + 相关信息咨讯
 ·ASP.NET中通过对话框方式下载文件
 ·关于ASP.NET在IIS一些问题的经验总结
 ·ADSL故障排除技巧
 ·如何选择宽带路由器
 ·UUSee网络电视2007 4.4.1214.18
 ·金山清理专家 2.3贺岁版
版权与免责声明:
1.凡本网注明来源为“东阳在线 ”的所有作品,包括文字与图片,未经本网授权不得转载。违反上述声明者,本网将依法追究法律责任。
2. 凡注明"来源:xxx(非本站)"的作品,均转载自其它媒体,本网转载的目的在于传播更多信息,此类稿件并不代表本网观点,本网不承担此类稿件侵权行为的直接责任及连带责任。
3. 如因作品内容、版权等需要同本网联系的,请在作品在本网发表之日起30日内联,否则视为放弃相关权利