当前位置:编程学习 > 网站相关 >>

谁能给讲解一下Lotus中CGI变量的用法

本人初学Lotus,关于这个CGI变量的用法一直不太明白,CGI变量可以传值,但到底怎么传,求各位前辈指点。 --------------------编程问答-------------------- 当域用 CGI 变量来命名时,Domino 从 CGI 环境拷贝域值并将其放置在域中。此特性可用于“显示时计算”域和决定“隐藏”条件。
  创建域并赋予该域一个 CGI 变量名。
例如:如果希望得到提交表单的用户的 IP 地址,请向表单中添加名为 Remote_Addr 的域.

在代理中代理中得到的当前文档documentcontext可以直接访问CGI变量,即使你没有在文档中没有建CGI变量域也可以得CGI变量的值。

Domino 通过域或 LotusScript 代理获得下列 CGI 变量。也可以获得以 HTTP 或 HTTPS 打头的 CGI 变量。例如:cookies 被浏览器变成 HTTP_Cookie 发送至服务器。

Lotus中所有可以使用的CGI变量如下:

Auth_Type 如果服务器支持用户验证而且 Script 被保护,这是用于校验用户的特定协议的验证方法。
Content_Length 内容的长度,与客户机给出的相同。
Content_Type 对于带有附加信息的查询,比如 HTTP POST 和 PUT,这是数据的内容类型。
Gateway_Inte易做图ce 服务器所遵守的 CGI 规范版本。
HTTP_Accept 客户机接受的 MIME 类型,通过 HTTP 标题指定。
HTTP_Accept_language 客户机接受的语言,通过 HTTP 标题指定。
HTTP_Referer 用户经常访问的页面的 URL 地址。
HTTPS 指示服务器是否启用 SSL 模式。
HTTPS_CLIENT_CERT_COMMON_NAME x.509 验证字上的公共名称
HTTPS_CLIENT_CERT_ISSUER_COMMON_NAME x.509 验证字的发行者
HTTPS_KEYSIZE SSL 会话过程中的会话密钥。例如:40-bit、128-bit。
Path_Translated 服务器提供 PATH_INFO 的翻译版本,它获得路径并能对其进行从虚拟地址到物理地址的任何映射。
Query_String ? 后的信息,或在某些情况下是引用此 Script 的 URL 中位于 !* 后的信息。
Query_String_Decoded 返 回值与 Query_String 相同,但是将字符串解码。例如:如果 URL 引用了一个包含不允许出现在 URL 中的字符的视图名称,此名称会被编码。此 CGI 变量将字符串解码。Path_Info_Decoded 仅对于 Domino 应用程序可用。
Remote_Addr 发出请求的远程主机的 IP 地址。
Remote_Host 发出请求的主机名称。
Remote_Ident 此变量会设置为从服务器提取的远程用户名。仅登录时使用此变量。
Remote_User 返回被验证用户名的验证方法。
Request_Content 仅由代理支持。包含使用 HTTP POST 请求发送的数据。此数据经常是“URL 编码的”,由用“&”连接的 name=value 对组成。例如: FirstName=John&LastName=Doe
Request_Method 用于发出请求的方法。对于 HTTP,是“GET”、“HEAD”、“POST” 等等。
Script_Name 到被执行的 Script 的虚拟路径,用于自引用的 URL。
Server_Name 服务器的宿主名称、DNS 别名或 IP 地址,将出现在自引用的 URL 中。
Server_Protocol 与请求同时出现的信息协议的名称和修订。
Server_Port 发送请求的端口。
Server_Software 运行 CGI 程序的信息服务器软件的名称和版本。
Server_URL_Gateway_Inte易做图ce 服务器遵守的 CGI 规范的版本。

--------------------编程问答-------------------- 你粘贴的这些我都看过了,有没有哪位有经验的前辈给通俗的解释一下 --------------------编程问答-------------------- CGI变量与domino平台无关,是一个web上的标准的东西。无论domino还是.net还是j2ee还是php,都支持。

你可以这么理解:就是包含了本次客户端到服务器的http请求中,包含的各种信息(如ls的列表所属),这样运行在后台服务器的程序就可以根据设计需要获取到http请求包含的信息(如发起请求的客户端IP,请求的UTL,请求提交的数据,客户端版本,请求类型等等)。
比如ajax技术常用的通过URL中添加&name=value这样的参数,就可以通过Query_String_Decoded或Query_String获取(需要字符串截取),或者获取Remote_Addr 记录发起请求的计算机ip等等

domino获取CGI变量的方法如同获取代理当前doc对象的域值。
一句话,就是HTTP请求所包含的一些基本信息。不知能否理解…… --------------------编程问答-------------------- 如果你在web端打开的是个表单,在表单中建与CGI变量同名的域就可以获得该CGI的值。如建立个Query_String域,当表单在web端打开时的Query_String的值就是URL中添加的&name1=value1&name2=valuel2这样的值。

如果你在web端打开的是个Agent,那么current session 中的DocumentContext 对象就包含这些CGI变量的值,你可以用下面的方法获得:
Dim session As New NotesSession
Dim note As NotesDocument
Set note=session.DocumentContext
querystring$ = Note.Query_string(0)

这些CGI变量得到后作什么用就看你的程序目前了。 --------------------编程问答--------------------
引用 3 楼 l0tux 的回复:
CGI变量与domino平台无关,是一个web上的标准的东西。无论domino还是.net还是j2ee还是php,都支持。

你可以这么理解:就是包含了本次客户端到服务器的http请求中,包含的各种信息(如ls的列表所属),这样运行在后台服务器的程序就可以根据设计需要获取到http请求包含的信息(如发起请求的客户端IP,请求的UTL,请求提交的数据,客户端版本,请求类型等等)。
比如ajax……
是这样的!明白吗?
补充:企业软件 ,  Lotus
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,