Domino服务器中HTTP请求中的CGI变量有两部分,一部分是内置的CGI变量,一部分是自定义的变量。在DominoLS代理中获取这些变量稍微有点不一样,下面分别是对应的获取方法。
1.内置的CGI变量,在Domiino Designer的帮助文档中有,见下表:
Field name | Returns |
---|---|
Auth_Type | If the server supports user authentication and the script is protected, this is the protocol-specific authentication method used to validate the user. |
Content_Length | The length of the content, as given by the client. |
Content_Type | For queries that have attached information, such as HTTP POST and PUT, this is the content type of the data. |
Gateway_Interface | The version of the CGI spec with which the server complies. |
HTTP_Accept | The MIME types that the client accepts, as specified by HTTP headers. |
HTTP_Accept_language | The languages that the client accepts, as specified by HTTP headers. |
HTTP_Referer | The URL of the page the user used to get here. |
HTTPS | Indicates if SSL mode is enabled for the server. |
HTTPS_CLIENT_CERT_COMMON_NAME | The common name on the x.509 certificate |
HTTPS_CLIENT_CERT_ISSUER_COMMON_NAME | The issuer of the x.509 certificate |
HTTPS_KEYSIZE | The session key during an SSL session. For example, 40-bit, 128-bit. |
HTTP_User_Agent | The browser that the client is using to send the request. |
Path_Info | The extra path information (from the server's root HMTL directory), as given by the client. In other words, scripts can be accessed by their virtual path name, followed by extra information that is sent as PATH_INFO. |
Path_Info_Decoded | Returns the same as Path_Info, but decodes the string. For example, if a URL references a view name that contains characters that are not allowed a URL, the name is encoded.This CGI variable decodes the string.Path_Info_Decoded is available to Domino applications only. |
Path_Translated | The server provides a translated version of PATH_INFO, which takes the path and does any virtual-to-physical mapping to it. |
Query_String | The information that follows the question mark (?) in the URL that referenced this script. Note: If your Domino server is configured to allow search engines to search your Web site Domino will generate URLs with an exclamation mark (!) instead of a question mark (?).If this is the case the Query_String CGI variable includes the information that follows the exclamation mark (!). Domino always recognizes both the question mark (?) and the exclamation mark (!), but only generates URLs with the exclamation mark (!) if your site is accessible to Web search engines.Generating URLs with an exclamation mark (!) makes them more searchable. |
Query_String_Decoded | Returns the same as Query_String, but decodes the string.For example, if a URL references a view name that contains characters that are not allowed in a URL, the name is encoded.This CGI variable decodes that string.Path_Info_Decoded is available to Domino applications only. |
Remote_Addr | The IP address of the remote host making the request. |
Remote_Host | The name of the host making the request. |
Remote_Ident | This variable will be set to the remote user name retrieved from the server. Use this variable only for logging. |
Remote_User | Authentication method that returns the authenticated user name. |
Request_Content | Supported only for agents. Contains the data sent with an HTTP POST request. The data is usually "URLencoded," consisting of name=value pairs concatenated by ampersands. For example, FirstName=John&LastName=Doe |
Request_Content_nnn | Used when the amount of data to be sent with an HTTP POST request exceeds the 64K limit. The first 64K of data is sent in Request_Content_000, the second 64K of data is sent in Request_Content_001, and so on. |
Request_Method | The method used to make the request. For HTTP, this is "GET," "HEAD," "POST," and so on. |
Script_Name | A virtual path to the script being executed, used for self-referencing URLs. |
Server_Name | The server's host name, DNS alias, or IP address as it would appear in self-referencing URLs. |
Server_Protocol | The name and revision of the information protocol accompanying this request. |
Server_Port | The port to which the request was sent. |
Server_Software | The name and version of the information server software running the CGI program. |
Server_URL_Gateway_Interface | The version of the CGI spec with which the server complies. |
LS代理中获取这些内置的CGI变量,直接使用变量名即可,代码如下:
Dim session As New NotesSession
Dim note As NotesDocument
Set note = session.Documentcontext
'获取请求类型method
Dim method As String
method = note.Request_Method(0)
2.获取请求中自定义的变量,代码如下:
Dim session As New NotesSession
Dim note As NotesDocument
Set note = session.Documentcontext
'获取token
Dim token As String
token = note.HTTP_token(0)
获取请求中自定义的变量,需要在变量名前面加上“HTTP_”,这样就能获取到变量的值。