如何在自己的isapi扩展处理HTTP请求后交由IIS继续处理,返回正常网页?

[复制链接]
查看11 | 回复10 | 2021-1-27 06:53:05 | 显示全部楼层 |阅读模式
如题,小弟最近非常蛋碎啊,在开发一款isapi插件,
现在遇到的难题是如何在自己的isapi扩展处理HTTP请求后交由IIS继续处理,返回正常网页?
求大神指点啊,小弟不胜感激
qq:649510174,可以支付一定费用
分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:53:05 | 显示全部楼层
在WebModule的OnDefaultAction事件里写代码,
在这个事件里,设置WebResponse.content:=要返回的HTM即可。
回复

使用道具 举报

千问 | 2021-1-27 06:53:05 | 显示全部楼层
老哥,我要返回的是一个asp页面处理后的结果(也是asp的),不是自己填充的html页面,请问这样有办法能实现吗?》
回复

使用道具 举报

千问 | 2021-1-27 06:53:05 | 显示全部楼层
它执行http客户端去调用asp页面,得到页面内容填充到WebResponse.content
回复

使用道具 举报

千问 | 2021-1-27 06:53:05 | 显示全部楼层
楼上的大哥,你好,那请问下下面的代码
procedureTWebModule1.WebModule1WebActionItem1Action(Sender:TObject;
Request:TWebRequest;Response:TWebResponse;varHandled:Boolean);
begin
WebResponse.content:=?????//这个地方应该如何写呢?

LogInfo(Request.Method);
end;

该如何写呢?非常感谢
回复

使用道具 举报

千问 | 2021-1-27 06:53:05 | 显示全部楼层
引用3楼sz_haitao的回复:它执行http客户端去调用asp页面,得到页面内容填充到WebResponse.content
楼上的大哥,你好,那请问下下面的代码
procedureTWebModule1.WebModule1WebActionItem1Action(Sender:TObject;
Request:TWebRequest;Response:TWebResponse;varHandled:Boolean);
begin
WebResponse.content:=?????//这个地方应该如何写呢?

LogInfo(Request.Method);
end;

该如何写呢?非常感谢
回复

使用道具 举报

千问 | 2021-1-27 06:53:05 | 显示全部楼层
要创建一个indyhttpclt对象,由它去访问asp的url,得到返回内容放到????的位置,再释放indyhttpclt对象
回复

使用道具 举报

千问 | 2021-1-27 06:53:05 | 显示全部楼层
引用6楼sz_haitao的回复:要创建一个indyhttpclt对象,由它去访问asp的url,得到返回内容放到????的位置,再释放indyhttpclt对象
多谢提醒,我去试试,可是有没有那种方法,直接将这个请求不处理而直接转交给IIS去处理呢?
我的Q:649510174,非常感谢
回复

使用道具 举报

千问 | 2021-1-27 06:53:05 | 显示全部楼层
有重定向命令,不知道对于你的场景是不是恰当
回复

使用道具 举报

千问 | 2021-1-27 06:53:05 | 显示全部楼层
1.把WebRequest的参数全部取出来(参考浏览器的开发人员工具里有这些值);
2.用WinSock将值传给IIS的ASP网址,取回结果,传给WebResponse.Content。
这样可以得到楼主要的结果。
只是,这样子不会多此一举吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行