如何设置 IIS 用以运行Delphi 编译的 CGI 程序

用Delphi编写CGI程序(四) 用Delphi编写CGI程序(四) 从 这 一 讲 开 始,我 们 将 进 入 CGI 程 序 设 计 的 学 习 过 程。通 过 前 面 几 讲 的 学 习,您 已 经 掌 握 了 CGI 程 序 设 计 的 基 础 知 识。现 在,您 可 以 坐 下 来 编 写 CGI 程 序 了!  三、CGI 程 序 设 计   1、服 务 器 端 附 件 (SSI) 及 阅读详情

使用 Delphi 的 WebBroker 架构,可以非常方便地开发 Web 服务器程序。

结合一些好的前端库,可以很简单地作出非常漂亮功能强大的基于 WEB 页面的程序。

具体做法这里就不细说了。

在 Delphi 里面新建一个 Web Server 的工程,选择 IIS CGI 以后,这个工程编译出来的就是一个 Windows 的 Exe 可执行文件,它就是可以在 IIS 底下被 IIS 调用的 CGI 程序。

额外说一句:Delphi 还可以编译出基于 Apache 的跑在 Linux 服务器上的 Web 服务器程序。

程序有了,如何让 IIS 能够调用它?

假设我的 CGI 程序的名字叫做:testCGI.exe;你在 Windows 里面如果直接双击它,它就会运行,只不过弹个黑色窗口出来,一瞬间,然后就运行完成,黑色窗口消失了。

首先,电脑上得安装 IIS

其次,在安装 IIS 的时候,要勾选上 CGI

上面两步,都是 Windows 的控制面板里面,【程序和功能】-- 【启用或关闭 Windows 功能】,从这里去找到 IIS 相关的东西,勾选上,就可以安装了。

IIS 有了,在 Windows 控制面板里面选择【系统】,进去后选择【Windows 工具】,路径:控制面板\系统和安全\Windows 工具

在这里可以看到 【Internet imformation service(IIS) 管理者】,双击它打开,就是 IIS 的管理面板。

先把我的 CGI 程序放到硬盘某个目录下,我这里是:F:\CGI\;我的程序名:testCGI.exe

创建虚拟目录

IIS 安装完成后,默认的 WEB 根目录在:C:\inetpub\wwwroot

假设你在这个目录底下放一个 abc.html,然后浏览器访问:http://localhost/abc.html,就能看到对应的网页。

但是,我不想让这个目录页执行CGI的权限。因此我的程序放在了上面说的 F 盘。

在 IIS 管理面板里面,选择左侧【网站】底下的 【Default Web Site】,右键点击,下拉菜单,选择【添加虚拟目录】。在弹出来的窗口里,我填写虚拟目录的名字:【test】,然后设置这个虚拟目录指向:F:\CGI;

设置完成后,如果在 F:\CGI 里面放一个 abc.html,然后浏览器访问 http://localhost/test/abc.html 能够正确打开网页,说明设置成功。

但是,这时候用浏览器访问 http://localhost/test/testCGI.exe 多半是不会成功的。因为还没有 CGI 的执行权限。

开启 CGI 运行权限

右侧面板选择 test 这个虚拟目录,面板中间一堆图标里面,选择【处理程序映射】,双击,打开了处理程序映射到界面,就是一个表格。表格里面有一些项目,可能也有一个项目名称叫【CGI-EXE】。没有也没关系,鼠标右键菜单,手动添加一个。

关键是,这个 CGI 的项目,状态值是【禁用】。双击它,弹出来的面板里面,没有【启用】的选项或者勾选框。

这里,是在表格里面选择它,然后在面板的右侧菜单里面,去找【编辑功能权限】,点这个菜单,弹出来的框里面,有三项:读,写,执行;其中执行没有打勾。勾选上执行,搞定。

到这里,在浏览器里面输入:http://localhost/test/testCGI.exe 能够看到我自己写的测试程序输出的页面内容;

再来:

http://localhost/test/testCGI.exe/hello?id=1234

也能看到我的程序的正确的执行结果,也就是执行到程序内部的 /hello 的结果。一切都那么美好。

但是,我不想让人看到是在执行 testCGI.exe 这个程序。怎么办?

目标:

我想让浏览器地址栏输入:http://localhost/test/hello?id=1234 能看到和上面写了 testCGI.exe 一样的效果。

同样,访问到我的程序的根,也就是:

http://localhost/test/testCGI.exe

我想要这样的 URL:

http://localhost/test/

有什么办法?

使用 URL 重写

IIS 默认没有 URL 重写。需要单独下载一个 URL 重写模块,运行安装程序。微软官方下载地址,网上随便就能搜到。

安装完成后,在 IIS 管理面板的中间一大堆图标里面,就能看到一个图标:【URL重写】

好了,开始设置。这个设置我摸索了几个小时,网上查了一堆资料,都没看明白。但真搞明白了,其实很简单,注意点就一条。

URL 重写设置具体操作

1. 首先,IIS 管理面板右边,选择 test 这个虚拟目录上一层的【default web site】。这里千万注意,一开始我选择的是 test 本身,结果设置完成后,什么效果都木有 -- 就这一个注意点。

2. 这时候面板中间有个【URL 重写】的图标,双击它,IIS 管理面板进入 URL 重写的界面。就是一个表格。这个表格上空的,什么项目都没有。

3. 鼠标在表格里面右键,弹出菜单里面现在【添加规则】;出来一个框,选择【入站规则,空白规则】,其实不用选择,默认的,直接点按钮,就弹出来规则填写框。在里面填写规则。

4. 重点来了,这里总共有 4 条要填写:

4.1. 名称,这个随便填写。我怕中文不支持,就填了个 test;

4.2. 底下有一栏,标题是模式,是一个输入框。对于我的 test 虚拟目录来说,填写:"^test/(.*)",这里,各位填写的时候,把 test 改成自己的虚拟目录名称,不要把两边的双引号给填进去了。

4.3. 再下面,有个标题:【重写URL】的输入框。这里填入:test/testCGI.exe/{R:1}

4.4. 再下面,有一个【停止处理后继规则】,勾选上。

到此搞定。

国庆假期,半夜一点半才写完这篇博文。各位看官,点个赞再走。

Delphi编写soap服务器与客户端程序 Delphi编写soap服务器与客户端程序使用三层结构开发客户机、服务器软件已成为c/s系统中的主流;下面是自己在开发系统中的一些体会;本文已delphi7(windows)或kylix3(linux9)为环境描述:1、编写服务器程序      首先,看看soap服务器的建立,在delphi7中的新建栏目中,选择“ WebServices”如下图,选择“Soap Server Applicat 阅读详情

相关推荐

Android studio客户端连接 Delphi XE REST DataSnap服务器

Android studio客户端连接 Delphi XE REST DataSnap服务器

用Delphi编写CGI程序(一)

用Delphi编写CGI程序(一)   1.0 、 CGI 程 序 的 功 能:     首 先, 什 么 是 公 共 网 关 接 口( CGI ) 呢? CGI 是 一 个 用 于 定 义 WEB 服 务 器 与 外 部 程 序 之 间 通 信 方 式 的 标 准, 使 得 外 部 程 序 能 生 成 HTML 、 图 象 或 者 其 他 内 容, 而 服 务 器

zou5655的专栏 1488

通过程序配置iis,使用delphi开发工具

开发环境delphi;用途:配置iis;

如何在Delphi6中调试web程序步骤

1.新建一个web工程,请选中最下面一项:Web App Debugger executable,Coclass name我们设为demo1; 2.在弹出的WebModule2中右击,在弹出的Action编辑框中新建一个webaction,选中,设置Default属性为True,在其onaction事件中编写如下代码,输出一个仅显示‘hello,dephi!’的html页; 3

踏雪无痕 1300

VLM,VLA,VLN的区别与联系

VLM 提供了理解世界的“眼睛和大脑”,VLN 赋予了这个智能体在空间中“移动的双腿”,而 VLA 则进一步赋予了它“灵巧的双手”来改变世界。三者共同构成了一个完整具身智能体的核心能力模块。

l0409044222的博客 1313

Xilinx XDMA驱动代码分析及用法

Xilinx XDMA驱动代码分析及用法 先简单的介绍一下,赛灵思的XDMA的驱动是用于做什么的、他的主要功能就类似与网卡pcie接口的网卡驱动、用于控制主机与fpga设备进行pcie的通讯。通讯的主要方式是设备文件的读写,这里不清楚的同学可以看一下我上一篇文章。通过控制设备文件的读写,操作驱动与fpga设备进行数据传输。 1、目录结构 zacha@Superman:~/nfs/xdma-debug/dma_ip_drivers-master/XDMA/linux-kernel$ tree -C . ├──

恍恍惚惚的大穷猫的博客 3万+

apache下部署delphi写的cgi

1.安装好apache服务器。 2.将cgi(一般是exe)拷贝到cgi-bin文件夹改后缀为cgi. 3.访问http://xx:port/cgi-bin/cgi-name.cgi 这样就可以了。

沧海一粟 1051

Mixly/Arduino实战:WS2812点阵动态显示自定义图案与汉字

本文手把手教你使用Mixly和Arduino驱动WS2812点阵屏,实现自定义图案与汉字的动态显示。内容涵盖硬件连接、取模软件设置、高效数据处理技巧(巧用Excel)、Mixly图形化编程及Arduino代码解析,并深入探讨动态显示与滚动汉字原理,最后提供常见问题排查与性能优化心得,助你从零开始轻松玩转智能硬件。

weixin_29185199的博客 454

用Delphi编写CGI程序(六)

用Delphi编写CGI程序(六)    在 前 面 的 几 个 章 节 里 , 我 们 完 成 了 CGI 程 序 的 一 般 论 述 。 在 此 , 我 给 出 一 个 简 单 的 示 范 程 序 作 为 对 以 前 的 内 容 的 总 结 。     要 使 用 这 个 程 序 , 您 需 要 OmniHTTPD 的 最 新 测 试 版 : OmniHTTPD

zou5655的专栏 1096

【DDSCAT——离散偶极近似仿真程序04】参数理解和模型设计

在这一部分,我们开始理解DDSCAT程序设计中的一些参数问题。 承接第二部分内容中的ddscat.par文件,我们来聊一聊偶极子、实际体积、有效半径等关键词。 一、偶极子点阵 手册中说,我们需要设计模型(target/目标),它是有偶极子点阵组成的。偶极子,顾名思义,是由一对电荷组成的,但我们不用设计一对,我们设计一个点就行,...

XD_Yangf的博客 7552

SWMM建模与案例应用

4、排水系统控制规则通过控制功能,可以在模拟进行过程中,通过条件判断,对闸门、水泵、管道、孔口、堰进行控制,实现排水系统实时控制。5、SWMM与其他模型对比分析分析:STORM、MOUSE、Info Works、SUSTAIN、SWC。1、模型初始设置主要参数:雨量计、汇水区、节点、出水口、管渠、分流器、蓄水池等参数前缀的设置。2、气象数据设置温度、蒸发、风速、融雪、面积亏损、气候调整、雨量计。1、多软件数据交互:CAD、Arcgis、SWMM。(1)节点、管段、水泵、孔口、堰、雨水口和街道。

m0_74575633的博客 3418

IIS7 CGI 的设置 -- IIS 下运行 Delphi 编译的 CGI 程序

修改 IIS7 设置如下,参考了 Dr. Bob 的:http://www.drbob42.com/examine/examinC3.htm IIS7 安装完后,不能运行 Delphi 编译的 CGI exe 程序。需要做如下设置: 1. 在 IIS7 的管理器里面,选择左边的最顶层的电脑,而不是电脑下的网站,右边才会有 “ISAPI 和 CGI 限制”这个图标。点开,添加一个 C

pcplayer的博客 3024

给宇树Go2机器人装‘眼睛’:在Jetson Orin Nano上从零部署YOLOv5的保姆级避坑实录

本文详细介绍了在Jetson Orin Nano上为宇树Go2机器人部署YOLOv5视觉系统的完整流程,涵盖硬件选型、环境配置、模型优化及系统集成等关键步骤。针对机器人应用场景特有的离线部署、版本冲突和实时推理等挑战,提供了实用的解决方案和性能优化技巧,帮助开发者快速实现机器人的视觉能力升级。

weixin_29169505的博客 378

WebBroker IIS CGI 的配置

用 WebBroker 写的程序,可以编译为 IIS 底下工作的 ISAPI 或者 CGI。 这里讨论 CGI 模式: 在 IIS 底下,如果访问一个 CGI,假设我们的 CGI 程序是:MyWebBrokerCGI.exe,则 URL 是:http://myserver.com/MyWebBroker.exe 1. 在 StandAlone 模式下,不同页面的链接,直接就是 Web

pcplayer的博客 793

x265开源编码器源码框架深度解析

x265开源编码器源码框架深度解析

世界那么大,我想去看看~【随心更新,看世界去了😄】 669

ThingsBoard教程(一):ThingBoard介绍及安装

ThingsBoard介绍 最近看了很多开源的物联网的项目,其中有一个让我印象很深,那就是Thingsboard 下面我就给大家介绍一下这个项目,并指导大家如何在本地安装一个Thingsboard来体验它。 首先引用官网的项目介绍就是 一个开源的用于数据收集,处理,可视化和设备管理的开源物联网平台。 它通过行业标准的物联网协议(MQTT,CoAP和HTTP)实现设备连接,并支持云和本地部署。ThingsBoard结合了可伸缩性,容错性和性能,因此您永远不会丢失数据。 用它开源收集链接设备,收集设备的数据,

知无涯 2万+

Delphi 7编写的Webservice生成的DLL部署到IIS上

Delphi7编写的Webservice生成的DLL部署到IIS上,步骤如下: 1.打开DELPHI 7,选择File-New-Other,选择WebServices,选中SOAP Server Application,如图所示:     2.默认第一个选项: 3.填写名称: 4.生成两个文件WebserviceDemoIntf接口定义与WebserviceDemoI

xiaojian555的专栏 9763

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Delphi 10 创建Webservice和部署webservice(一)

之前写过,后来忘记了。今天对照别的地方的,写了一个。 Delphi7编写的Webservice生成的DLL部署到IIS上,步骤如下: 1.打开DELPHI 7,选择File-New-Other,选择WebServices,选中SOAP Server Application,如图所示: 2.默认第一个选项: 3.填写名称: 4.生成两个文件WebserviceDemoIntf接口定义与WebserviceDemoImpl接口实现。 在WebserviceDemoIntf中编写自定...

qq_15267865的博客 2449

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

DELPHI开发Web程序常见问题

  引 子   Web程序开发对开发工具提出了极大挑战,面对用户的众多需求,许多公司推出一大堆开发平台:开发桌面应用程序和C/S程序的,开发中间件的,开发Web服务器的。这造成程序员面对一大堆工具无从下手。   DELPHI和其他开发工具不同,因为它是一个开放系统,只要灵活使用一些控件,即可开发出各种类型的系统,不论N-Tie程序、多线程程序、分布计算程序(包括DCOM和CORBAR)、T

能力改变命运,心态决定一切! 1750

为 ISAPI DLL 配置 Windows 7 IIS7

转自:http://chee-yang.blogspot.com/2009/10/configure-windows-7-iis7-for-isapi-dll.html 实际上按正文所说,在IIS8中还是不行。还是看评论中设置CGI模块方法吧。类似python网站发布。 Windows 7 IIS7 需要一些配置才能使 ISAPI DLL 正常工作。与 IIS 5 相比,它并不是那么简单。 安装 IIS 7 转到控制面板 |程序和功能 |打开或关闭 Windows 功能(需要特权模式)。 ..

903

用Delphi7实现Web Service

用Delphi7开发Web Service程序,并把服务程序放在IIS Web服务器上提供给各种客户程序调用。 一编写服务程序     第一步:File----->New----->Other------>WebServices----->Soap Server Application选择ISAPI/NSAPI Dynamic Link Library然后确定,(如果没有做过,

Chang的专栏 4940

Delphi开发的WebService应用发布-- 谈WAD/CGI/ISAPI 的区别

         Borland 在 Delphi/C++ Builder 中提供了多种类型的 Web 应用开发,其中最常用的应该是用于调试的 Web App Debugger 应用(WAD应用)和在 Windows/IIS 平台下运行的 CGI/ISAPI 。虽然从理论上说,这几种类型的 Web 应用程序除了类型不同以外,应该没有什么太大的区别。即一般情况下,可以很容易改变其类型,如:假设有一个

我心飞扬 4970

一步一步用Delphi6实现Web Service

      本文介绍的是如何用Delphi6开发Web Service程序,并把服务程序放在IIS Web服务器上提供给各种客户程序调用。一编写服务程序第一步:File----->New----->Other------>WebServices----->Soap Server Application选择ISAPI/NSAPI Dynamic Link Library然后确定。生成一个

coala的专栏 1526
上一篇: 使用 HTMX 从服务器获取文本更新 Quill Editor 的内容
下一篇: 用 Delphi 做了一个简单的 CMS
pcplayer
博客等级 码龄26年 633粉丝 284原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值