VFPCGI Day10
出自VFP Wiki
VFPCGI Day10
的原始碼
跳轉到:
導航
,
搜尋
根據以下的原因,您並無權限去做編輯這個頁面:
你所請求執行的操作被禁止。
你可以檢視並複製本頁面的原始碼。
[[Category:VFPCGI]] =====VFPCGI的第十天===== 其實 CGI 介面除了前面提過的那幾個環境變數之外,還有提供如下變數: *SERVER_SOFTWARE *SERVER_NAME *GATEWAY_INTERFACE *SERVER_PROTOCOL *SERVER_PORT *REQUEST_METHOD *PATH_INFO *PATH_TRANSLATED *SCRIPT_NAME *QUERY_STRING *REMOTE_HOST *REMOTE_ADDR *AUTH_TYPE *REMOTE_USER *REMOTE_IDENT *CONTENT_TYPE *CONTENT_LENGTH *HTTP_ACCEPT *HTTP_USER_AGENT 讓我們都印出來看看~請把以下程式存為 cgi07.prg,並設為主程式進行編譯。 <pre> * * cgi07 * * Reference: * CGI Environment Variables http://hoohoo.ncsa.uiuc.edu/cgi/env.html * SET PROCEDURE TO cgilib LOCAL oResponse oResponse = CREATEOBJECT( "RESPONSE" ) LOCAL lcHtml TEXT TO lcHtml TEXTMERGE NOSHOW CGI Environment variables: <ul> <li>SERVER_SOFTWARE=<<GETENV("SERVER_SOFTWARE")>></li> <li>SERVER_NAME=<<GETENV("SERVER_NAME")>></li> <li>GATEWAY_INTERFACE=<<GETENV("GATEWAY_INTERFACE")>></li> <li>SERVER_PROTOCOL=<<GETENV("SERVER_PROTOCOL")>></li> <li>SERVER_PORT=<<GETENV("SERVER_PORT")>></li> <li>REQUEST_METHOD=<<GETENV("REQUEST_METHOD")>></li> <li>PATH_INFO=<<GETENV("PATH_INFO")>></li> <li>PATH_TRANSLATED=<<GETENV("PATH_TRANSLATED")>></li> <li>SCRIPT_NAME=<<GETENV("SCRIPT_NAME")>></li> <li>QUERY_STRING=<<GETENV("QUERY_STRING")>></li> <li>REMOTE_HOST=<<GETENV("REMOTE_HOST")>></li> <li>REMOTE_ADDR=<<GETENV("REMOTE_ADDR")>></li> <li>AUTH_TYPE=<<GETENV("AUTH_TYPE")>></li> <li>REMOTE_USER=<<GETENV("REMOTE_USER")>></li> <li>REMOTE_IDENT=<<GETENV("REMOTE_IDENT")>></li> <li>CONTENT_TYPE=<<GETENV("CONTENT_TYPE")>></li> <li>CONTENT_LENGTH=<<GETENV("CONTENT_LENGTH")>></li> <li>HTTP_ACCEPT=<<GETENV("HTTP_ACCEPT")>></li> <li>HTTP_USER_AGENT=<<GETENV("HTTP_USER_AGENT")>></li> </ul> ENDTEXT oResponse.Write( lcHtml ) </pre> 你會看到許多有趣的資訊。 在 ASP 裡面,你可以用 Request.ServerVariables() 來取得這些資訊。 所以我們為 Request 添加一個 Method,命名為 ServerVariables <pre> PROCEDURE ServerVariables LPARAMETERS strVarName RETURN GETENV( strVarName ) ENDPROC </pre> 再一次改寫 cgi07 為 cgi08 如下,並將 cgi08 設為主程式: <pre> * * cgi08 * * Reference: * CGI Environment Variables http://hoohoo.ncsa.uiuc.edu/cgi/env.html * SET PROCEDURE TO cgilib LOCAL oResponse, oRequest oResponse = CREATEOBJECT( "RESPONSE" ) oRequest = CREATEOBJECT( "REQUEST" ) LOCAL lcHtml TEXT TO lcHtml TEXTMERGE NOSHOW CGI Environment variables: <ul> <li>SERVER_SOFTWARE=<<oRequest.ServerVariables("SERVER_SOFTWARE")>></li> <li>SERVER_NAME=<<oRequest.ServerVariables("SERVER_NAME")>></li> <li>GATEWAY_INTERFACE=<<oRequest.ServerVariables("GATEWAY_INTERFACE")>></li> <li>SERVER_PROTOCOL=<<oRequest.ServerVariables("SERVER_PROTOCOL")>></li> <li>SERVER_PORT=<<oRequest.ServerVariables("SERVER_PORT")>></li> <li>REQUEST_METHOD=<<oRequest.ServerVariables("REQUEST_METHOD")>></li> <li>PATH_INFO=<<oRequest.ServerVariables("PATH_INFO")>></li> <li>PATH_TRANSLATED=<<oRequest.ServerVariables("PATH_TRANSLATED")>></li> <li>SCRIPT_NAME=<<oRequest.ServerVariables("SCRIPT_NAME")>></li> <li>QUERY_STRING=<<oRequest.ServerVariables("QUERY_STRING")>></li> <li>REMOTE_HOST=<<oRequest.ServerVariables("REMOTE_HOST")>></li> <li>REMOTE_ADDR=<<oRequest.ServerVariables("REMOTE_ADDR")>></li> <li>AUTH_TYPE=<<oRequest.ServerVariables("AUTH_TYPE")>></li> <li>REMOTE_USER=<<oRequest.ServerVariables("REMOTE_USER")>></li> <li>REMOTE_IDENT=<<oRequest.ServerVariables("REMOTE_IDENT")>></li> <li>CONTENT_TYPE=<<oRequest.ServerVariables("CONTENT_TYPE")>></li> <li>CONTENT_LENGTH=<<oRequest.ServerVariables("CONTENT_LENGTH")>></li> <li>HTTP_ACCEPT=<<oRequest.ServerVariables("HTTP_ACCEPT")>></li> <li>HTTP_USER_AGENT=<<oRequest.ServerVariables("HTTP_USER_AGENT")>></li> </ul> ENDTEXT oResponse.Write( lcHtml ) </pre> 這次主要是實做 Request.ServerVariables 方法。 參考資料: *[http://hoohoo.ncsa.uiuc.edu/cgi/env.html CGI Environment Variables] *[http://www.w3schools.com/asp/asp_ref_request.asp ASP Request Object]
返回到
VFPCGI Day10
。
檢視
頁面
討論
原始碼
歷史
個人工具
登入/建立新帳號 選單
導航
首頁
社群入口
現時事件
近期變動
隨機頁面
使用說明
搜尋
工具箱
鏈入頁面
相關頁面修訂記錄
所有特殊頁面