互联网服务支持库

互联网服务支持库 帮助手册20080811版 返回支持库手册 返回首页

本支持库实现了对互联网服务(ISAPI)的支持。

操作系统支持： Windows

其它数据类型：

互联网扩展

互联网扩展返回值

服务器变量类型

适用版本，互联网服务支持库 （1.6#0版）


互联网扩展

互联网扩展 普通类型 操作系统支持：Windows 跳至：互联网服务支持库

要使用本数据类型，必须建一个Windows动态链接库, 至少要公开三个函数，函数名分别为GetExtensionVersion, HttpExtensionProc和TerminateExtension。GetExtensionVersion在ISAPI第一次加载时被调用，参数为一个，类型为整数型。HttpExtensionProc在ISAPI加载时每次都被调用，参数为一个，类型为整数型。TerminateExtension在ISAPI退出时被调用，无参数。这三个函数返回值都为整型，返回值可以为“互联网扩展返回值”数据类型中的常量值。注：用到的支持库都要拷贝到系统目录下。如：c:\windows\system32\ 。

方法：

初始化版本信息 | 初始化互联网扩展 | 写出文本 | 取服务器变量
获取传入数据方法 | 获取内容类型 | 获取路径信息 | 获取客户端字符串
读取文本 | 解码文本 | 据关键字找文本 | 设置替换标志
获取替换标志 | 模板替换 | 设置存根 | 获取存根
会话开始 | 会话结束 | 会话注册变量和值 | 会话变量是否注册
会话取消注册变量 | 会话获取变量值 | 会话轮询时间 | 编码文本
读取字节集 | 重定向 |  |

参见：基本数据类型


初始化版本信息 方法 操作系统支持：Windows 所属对象：互联网扩展

本方法应该在GetExtensionVersion子程序中调用。

语法： 逻辑型 互联网扩展．初始化版本信息 （地址，描述信息）

参数名 | 描 述
地址 | 必需的；整数型。本参数表示需要的地址，一定要为GetExtensionVersion子程序的第一个“整数型”的参数。
描述信息 | 必需的；文本型。关于自己程序的描述信息。

例程

说明

初始化版本的信息，在开始创建时调用一次即可。

参考：例程1 网页模板和DLL文件


初始化互联网扩展 方法 操作系统支持：Windows 所属对象：互联网扩展

本方法应该在HttpExtensionProc子程序中调用。

语法： 无返回值 互联网扩展．初始化互联网扩展 （地址）

参数名 | 描 述
地址 | 必需的；整数型。本参数表示需要的地址，一定要为HttpExtensionProc子程序的第一个“整数型”的参数。

例程

说明

必须在HttpExtensionProc子程序中第一个调用，以便更新互联网扩展信息。


写出文本 方法 操作系统支持：Windows 所属对象：互联网扩展

写出文本给客户端。

语法： 逻辑型 互联网扩展．写出文本 （文本）

参数名 | 描 述
文本 | 必需的；文本型。本参数表示要写的文本。

例程

说明

直接对用户的网页写出信息。写出的信息会直接出现在用户的浏览器上。


取服务器变量 方法 操作系统支持：Windows 所属对象：互联网扩展

取服务器变量。

语法： 文本型 互联网扩展．取服务器变量 （变量类型）

参数名 | 描 述
变量类型 | 必需的；整数型。要取的变量类型，可以为“服务器变量类型”中的常量值。

例程

说明

取得服务器的一些相关信息，具体相关值根据“服务器变量类型”中的常量值来定。


获取传入数据方法 方法 操作系统支持：Windows 所属对象：互联网扩展

获取传入数据方法，成功返回“GET”或“POST”。

语法： 文本型 互联网扩展．获取传入数据方法 （）

例程

说明

取得用户投递过来的消息使用的方式，成功返回“GET”或“POST”。


获取内容类型 方法 操作系统支持：Windows 所属对象：互联网扩展

获取内容类型(ContentType)。

语法： 文本型 互联网扩展．获取内容类型 （）

例程

说明

该内容的类型是html客户端指定的。

例如：这个表单

<form action="getpost.dll"
method="post" enctype="application/x-www-form-urlencoded"
name="form1">

<input type="text" name="textfield">

</form>

“enctype=”后面的“application/x-www-form-urlencoded”就是内容的类型,服务器端取到这个数据后就可以做相应的处理。


获取路径信息 方法 操作系统支持：Windows 所属对象：互联网扩展

获取路径信息。如客户端传入 xxx.dll/111.txt0: 相对路径为 /111.txt1: 绝对路径为 c:\wwwroot\interput\111.txt, c:\wwwroot\interput为服务器所在目录。

语法： 文本型 互联网扩展．获取路径信息 （路径类型）

参数名 | 描 述
路径类型 | 必需的；整数型。路径类型: 0为相对路径，1为绝对路径。

例程

说明

如果客户端输入 http://localhost/xxx.dll/111.txt0:

那么它的相对路径为 /111.txt1: 绝对路径为 c:\wwwroot\interput\111.txt,

c:\wwwroot\interput为服务器所在目录。

注：本命令主要是取xxx.dll 后面的路径。


获取客户端字符串 方法 操作系统支持：Windows 所属对象：互联网扩展

获取客户端传来的字符串，是客户端用GET方法传来的字符串。

语法： 文本型 互联网扩展．获取客户端字符串 （）

例程

说明

获取用户通过GET方式返回的数据。


读取文本 方法 操作系统支持：Windows 所属对象：互联网扩展

读取客户端用POST方法传入的文本。

语法： 文本型 互联网扩展．读取文本 （）

例程

说明

获取用户通过POST方式传递过来的信息。


解码文本 方法 操作系统支持：Windows 所属对象：互联网扩展

将GET或POST上来的文本进行解码。

语法： 文本型 互联网扩展．解码文本 （文本，连接符）

参数名 | 描 述
文本 | 必需的；文本型。本参数表示要解码的文本。
连接符 | 必需的；字节型，初始值为“38”。连接各文本的字符，本字符将被替换为空格，默认为 &。

例程

说明

通过GET或POST传递过来的信息为乱码时通过该命令解码。


据关键字找文本 方法 操作系统支持：Windows 所属对象：互联网扩展

根据关键字找文本。如这样一个文本“key1=value1+key2=value2”根据“key”找“value”。

语法： 文本型 互联网扩展．据关键字找文本 （文本，关键字，分割字符）

参数名 | 描 述
文本 | 必需的；文本型。本参数表示要查找的文本。
关键字 | 必需的；文本型。关键字名字。
分割字符 | 必需的；字节型，初始值为“38”。分割的字符。黙认为'&'。 。

例程

说明

根据关键字查找相关内容。


设置替换标志 方法 操作系统支持：Windows 所属对象：互联网扩展

设置替换HTML模板的标志，如:,“站点”前后的就是标志。

语法： 逻辑型 互联网扩展．设置替换标志 （前标志，后标志）

参数名 | 描 述
前标志 | 必需的；文本型，初始值为“”。本参数表示变量后面的标志。
后标志 | 必需的；文本型，初始值为“$-->”。本参数表示变量后面的标志。

例程

说明

设置替换标志，如：<!--$ test $--!> 前标志为“<!--”后标志为“--!>”当中的“test”就是为可替换文本。


获取替换标志 方法 操作系统支持：Windows 所属对象：互联网扩展

获取“设置替换标志”方法设置的标志。

语法： 逻辑型 互联网扩展．获取替换标志 （前标志，后标志）

参数名 | 描 述
前标志 | 必需的；文本型，参数数据只能提供变量。本参数表示变量前面的标志。
后标志 | 必需的；文本型，参数数据只能提供变量。本参数表示变量后面的标志。

例程

说明

获取用设置替换标志命令设置的替换标志。


模板替换 方法 操作系统支持：Windows 所属对象：互联网扩展

对给定的HTML模板进行替换。调用此方法之前要调用“设置替换标志”设置标志。

语法： 逻辑型 互联网扩展．模板替换 （要替换的模板，变量名称替换数据 ）

参数名 | 描 述
要替换的模板 | 必需的；文本型，参数数据只能提供变量。本参数表示要替换的模板。
变量名称替换数据 | 必需的；可扩充的；文本型。本参数的每一对参数值顺序指定欲被替换的变量名称及其相应的替换值。

例程

说明

替换我们设置标志中的文本。


设置Cookie 方法 操作系统支持：Windows 所属对象：互联网扩展

设置存根 方法 操作系统支持：Windows 所属对象：互联网扩展

设定存根(Cookie)。注本功能需要浏览器的支持。

语法： 逻辑型 互联网扩展．设置存根 （名称，路径，［网站］，安全，失效日期，变量分割符，变量名称和值 ）

参数名 | 描 述
名称 | 必需的；文本型。本参数表示存根(Cookie)的名称。
路径 | 必需的；文本型，初始值为“/”。限定浏览器发送存根(Cookie)的路径，如果此参数指定则只有在浏览此路径下的网页时存根(Cookie)才会被发送。注：发送路径时请注意路径的大小写要和(Windows)目录的一致。
网站 | 可选的；文本型。限定了存根(Cookie)发送的网站。
安全 | 必需的；逻辑型，初始值为“假”。本参数为真表示传递中就实行了加密算法，如果你正在使用安全接口层，那么你就可以使用这个属性。安全接口层在IIS中设置。
失效日期 | 必需的；日期时间型。本参数表示到到日期后存根(Cookie)就失效。
变量分割符 | 必需的；字节型，初始值为“38”。本参数表示如果有多个变量的话它们之间用什么符号分割。黙认为'&'。
变量名称和值 | 必需的；可扩充的；文本型。本参数的每一对参数值顺序指定变量名称及其相应的值。

例程

说明

设置Cookie值，该值写到客户机。


获取Cookie 方法 操作系统支持：Windows 所属对象：互联网扩展

获取存根 方法 操作系统支持：Windows 所属对象：互联网扩展

获取存根(Cookie)的值。

语法： 文本型 互联网扩展．获取存根 （名称）

参数名 | 描 述
名称 | 必需的；文本型。本参数表示存根(Cookie)的名称。是“设置存根”方法设置的名称。

例程

说明

获取Cookie值，该值来自客户机。


会话开始 方法 操作系统支持：Windows 所属对象：互联网扩展

开始一个新的会话(session)。

语法： 逻辑型 互联网扩展．会话开始 （超时）

参数名 | 描 述
超时 | 必需的；整数型。本参数表示此会话过多长时间失效。单位为秒。

例程

说明

开始一个新的会话(session)，该会话在服务端。


会话结束 方法 操作系统支持：Windows 所属对象：互联网扩展

结束当前的会话。

语法： 无返回值 互联网扩展．会话结束 （）

例程

说明

结束当前会话。


会话注册变量和值 方法 操作系统支持：Windows 所属对象：互联网扩展

为当前会话注册变量和值，如果变量已注册则修改变量的值。

语法： 无返回值 互联网扩展．会话注册变量和值 （变量名，值）

参数名 | 描 述
变量名 | 必需的；文本型。本参数表示要注册或修改变量名。
值 | 必需的；文本型。本参数表示赋予变量的值。

例程

说明

注册变量和值，如果该变量已经注册，将改变该变量的值。


会话变量是否注册 方法 操作系统支持：Windows 所属对象：互联网扩展

检查当前会话中此变量是否注册。如果注册过了返回真，否则返回假。

语法： 逻辑型 互联网扩展．会话变量是否注册 （变量名）

参数名 | 描 述
变量名 | 必需的；文本型。本参数表示查询的变量名。

例程

说明

检查当前的变量是否注册，注册返回真，否则返回假。


会话取消注册变量 方法 操作系统支持：Windows 所属对象：互联网扩展

从当前会话中取消此变量。

语法： 逻辑型 互联网扩展．会话取消注册变量 （变量名）

参数名 | 描 述
变量名 | 必需的；文本型。本参数表示要取消的变量名。

例程

说明

从当前会话中取消变量的注册。


会话获取变量值 方法 操作系统支持：Windows 所属对象：互联网扩展

从当前会话获取此变量的值。

语法： 文本型 互联网扩展．会话获取变量值 （变量名）

参数名 | 描 述
变量名 | 必需的；文本型。本参数表示要取值的变量名。

例程

说明

获取当前会话的变量值。


会话轮询时间 方法 操作系统支持：Windows 所属对象：互联网扩展

程序多长时间轮询一次，将失效的会话删掉。

语法： 文本型 互联网扩展．会话轮询时间 （时间）

参数名 | 描 述
时间 | 必需的；整数型。本参数表示要轮询的时间，单位为秒。注：如果本参数设的时间过长可能会使“会话超时”不准，如果本参数设的时间过短对性能有影响。默认为2分钟。

例程

说明

设置程序多长时间轮询一次会话，在执行一次轮询后会将所有失效的会话删除。


编码文本 (互联网扩展)

编码文本 方法 操作系统支持：Windows 所属对象：互联网扩展

将一段文本编码为URL格式的。

语法： 文本型 互联网扩展．编码文本 （文本， 连接符）

参数名 | 描 述
文本 | 必需的； 文本型。本参数表示要编码的文本。
连接符 | 必需的； 字节型，初始值为“43”。本参数表示要将空格替换为哪个字符，默认为'+'。

例程：

说明：

将一段文本编码为URL格式的。

参见： 编码文本.e 网页模板和DLL 文件


读取字节集 (互联网扩展)

读取字节集 方法 操作系统支持：Windows 所属对象：互联网扩展

读取客户端用投递(POST)方法传入的内容，并以字节集的方式返回。

语法： 字节集 互联网扩展．读取字节集 （大小）

参数名 | 描 述
大小 | 必需的； 整数型。本参数表示期望返回字节集的最大长度。如果实际数据比本长度大，就按本长度返回；如果实际数据比本长度小，就按实际长度返回。

例程：

说明：

读取客户端用投递(POST)方法传入的内容，并以字节集的方式返回。

参见： 上传.e 网页模板和DLL 文件


重定向 (互联网扩展)

重定向 方法 操作系统支持：Windows 所属对象：互联网扩展

进行重定向，让浏览器访问一个指定的网页。

语法： 逻辑型 互联网扩展．重定向 （地址）

参数名 | 描 述
地址 | 必需的； 文本型。本参数表示要重定向的地址，所有HEAD的其它信息如Content-Type，可以写在地址的后面，注意加回车换行。

例程：

说明：

进行重定向，让浏览器访问一个指定的网页。

参见： 重定向.e 网页模板和DLL 文件


互联网扩展返回值

互联网扩展返回值 枚举常量集合类型 操作系统支持：Windows、Linux 跳至：互联网服务支持库

本数据类型包括了互联网扩展返回值的常量。

成员 | 描 述
成功 | 常量值为 1 。
失败 | 常量值为 4 。

参见：基本数据类型


服务器变量类型

服务器变量类型 枚举常量集合类型 操作系统支持：Windows、Linux 跳至：互联网服务支持库

本数据类型包括了服务器变量类型的常量。

成员 | 描 述
超文本传输协议头 | 常量值为 0 。包含有在表单(HTTP_NAME：value)下的非标准头标的完整列表 。
非超文本传输协议头 | 常量值为 1 。除了当它被接收的时候没有HTTP前缀和其他的格式，其他的和“所有超文本传输协议头”一样 。
数据库逻辑路径 | 常量值为 2 。包含有数据库的逻辑路径。
数据库物理路径 | 常量值为 3 。包含有数据库的物理路径。
身份验证口令 | 常量值为 4 。如果使用最基本的身份验证时所输入的口令。
身份验证类型 | 常量值为 5 。使用的安全身份验证类型。
身份验证用户名 | 常量值为 6 。已经过身份验证的用户名。
客户认证存根 | 常量值为 7 。包含客户认证的唯一标识符。
客户认证标志 | 常量值为 8 。如果客户认证存在，则设置第一个标志位，如果证书可信，则设置第二个标志位 。
客户认证发放机构 | 常量值为 9 。客户认证发放机构。
安全码位数 | 常量值为 10 。在安全套接字层(SSL)安全码中的位数。
服务器安全码位数 | 常量值为 11 。在服务器中的安全套接字层(SSL)安全码中的位数。
客户认证序列号 | 常量值为 12 。客户认证的序列号。
服务器证书 | 常量值为 13 。发放服务器认证的证书。
服务器认证主题 | 常量值为 14 。服务器认证的主题域。
客户认证主题 | 常量值为 15 。客户认证的主题域。
内容长度 | 常量值为 16 。访问者向服务器发出请求时报告的字节数。
内容类型 | 常量值为 17 。请求的类型。
帐号 | 常量值为 29 。用户登陆到windows的帐号。
是否安全请求 | 常量值为 21 。如果是一个安全请求，则包含字符串真(on)，否则的话包含字符串假(off) 。
请求位数 | 常量值为 22 。在请求中使用的安全套接字层(SSL)的位数。
请求服务端位数 | 常量值为 23 。在服务器端使用的安全套接字层(SSL)位数。
请求服务器证书 | 常量值为 24 。请求中使用的服务器认证的证书。
请求服务器主题 | 常量值为 25 。服务器认证的主题域。
标识号 | 常量值为 26 。互联网服务器的实例标识号。
服务元路径 | 常量值为 27 。互联网服务器实例的元数据库路径。
路径信息 | 常量值为 30 。在域名根目录外的到被请求页面的路径。
请求物理路径 | 常量值为 31 。请求的物理路径。
字符串 | 常量值为 32 。通过使用获取(GET)方法提交的任何数据，或是通过一个链接中的问号后面的数据 。
客户端IP | 常量值为 33 。发出请求的机器的IP地址。
客户端域 | 常量值为 34 。如果存在，为请求者的转换名，否则的话，为包含这个IP地址的域。
客户端用户名 | 常量值为 36 。客户端发送的用户名 。
请求方法 | 常量值为 37 。使用的请求方法，即投递(POST)还是获取(GET)。
脚本名 | 常量值为 38 。被请求的脚本的名字。
服务器名 | 常量值为 39 。服务器主机名。
服务器端口 | 常量值为 40 。服务器使用的端口号 。
安全连接 | 常量值为 41 。如果请求是通过安全连接发送的，那么这个域中包含值1，否则的话包含0 。
协议版本 | 常量值为 42 。使用的协议的版本号，即HTTP/11 。
服务器软件信息 | 常量值为 43 。在服务器上运行的Web服务器软件的名称和版本 。
地址 | 常量值为 44 。被请求的页面的地址(URL)。

参见：基本数据类型


系统基本数据类型列表及其说明如下：

1. 字节型。可容纳 0 到 255 之间的数值。

2. 短整数型。可容纳 -32,768 到 32,767 之间的数值，尺寸为 2 个字节。

3. 整数型。可容纳 -2,147,483,648 到 2,147,483,647 之间的数值，尺寸为 4 个字节。

4. 长整数型。可容纳 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 之间的数值，尺寸为 8 个字节。

5. 小数型。可容纳 3.4E +/- 38 (7位小数) 之间的数值，尺寸为 4 个字节。

6. 双精度小数型。可容纳 1.7E +/- 308 (15位小数) 之间的数值，尺寸为 8 个字节。

7. 逻辑型。值只可能为“真”或“假”，尺寸为 4 个字节。“真”和“假”为系统预定义常量，其对应的英文常量名称为“true”和“false”。

8. 日期时间型。用作记录日期及时间，尺寸为 8 个字节。

9. 文本型。用作记录一段文本，文本由以字节 0 结束的一系列字符组成。

10.字节集。用作记录一段字节型数据。字节集与字节数组之间可以互相转换，在程序中允许使用字节数组的地方也可以使用字节集，或者相反。字节数组的使用方法，譬如用中括号对（“[]”）加索引数值引用字节成员，使用数组型数值数据进行赋值等等，都可以被字节集所使用。两者之间唯一的不同是字节集可以变长，因此可把字节集看作可变长的字节数组。

11.子程序指针。用作指向一个子程序，尺寸为 4 个字节。具有此数据类型的变量可以用来间接调用子程序。参见例程 sample.e 中的相应部分。

    在以上的基本数据类型中，字节型、短整数型、整数型、长整数型、小数型、双精度小数型被统称为“数值型”，它们之间可以任意转换。不过编程需要注意转换可能带来的精度丢失。譬如：将整数 257 转换为字节后的结果为 1 ，这是因为值 257 超出了字节型数据的最大上限 255 ，从而产生了溢出。

    另外，通用型数据类型仅在系统内部使用，它能够匹配所有的系统基本数据类型、库定义数据类型、自定义数据类型。