1.cgi環境變數簡介
cgi程式繼承了系統的環境變數,
cgi的環境變數,在
cgi程式在啟動時初始化,結束時銷毀,當乙個
cgi程式不是被
伺服器呼叫時,其環境變數基本是系統的環境變數。當屬於
伺服器呼叫時,他的環境變數就會多了以下關於
伺服器、客戶端、
cgi傳輸過程等專案。
cgi相關的環境變數有三種,與請求相關的環境變數、與伺服器相關的環境變數,以及與客戶端相關的環境變數。
2.下面列舉一些環境變數
環境變數意義
server_name
cgi指令碼執行時的主機名和
ip位址.
server_software
你的伺服器的型別如: cern/3.0 或
ncsa/1.3.
gateway_inte***ce
執行的cgi版本
. 對於
unix
伺服器,
這是cgi/1.1.
server_protocol
伺服器執行的http協議
. 這裡當是
伺服器執行的tcp口,通常
web伺服器是
80.
request_method
post 或
get,
取決於你的表單是怎樣遞交的.
瀏覽器能直接接收的content-types, 可以有
http accept header定義.
遞交表單的瀏覽器的名稱、版本
和其他平台性的附加資訊。
遞交表單的文字的 url,不是所有的瀏覽器都發出這個資訊,不要依賴它
path_info
附加的路徑資訊, 由瀏覽器通過
get方法發出.
path_translated
在path_info中系統規定的路徑資訊.
script_name
指向這個cgi指令碼的路徑
, 是在
url中顯示的(如
, /cgi-bin/thescript).
query_string
指令碼引數或者表單輸入項(如果是用
get遞交
). query_string
包含url
中問號後面的引數.
remote_host
遞交指令碼的主機名,這個值不能被設定.
remote_addr
遞交指令碼的主機ip位址.
remote_user
遞交指令碼的使用者名稱. 如果伺服器的
authentication
被啟用,這個值可以設定。
remote_ident
如果web伺服器是在
ident (
一種確認使用者連線你的協議)執行
, 遞交表單的系統也在執行
ident,
這個變數就含有
ident
返回值.
content_type
如果表單是用post遞交
, 這個值將是
在上載檔案的表單中
, content-type
是個 multipart/form-data.
content_length
對於用post遞交的表單
, 標準輸入口的位元組數.
3.獲取cgi變數
#include #include #include const std::string env=
;int get_cgi_env()
else
std::cout<<"";
std::cout<<"\n";
} std::cout<<"";
std::cout<<"\n";
std::cout<<"\n";
//std::cout<<"\n";
return 0;
}int main()
g++ 2.cpp -o get_cgi_env -g
拷貝可執行檔案到http伺服器的cgi-bin目錄下
瀏覽器輸入
瀏覽器輸出
CGI 環境變數
環境變數 意義 server name cgi指令碼執行時的主機名和ip位址.server software 你的伺服器的型別如 cern 3.0 或 ncsa 1.3.gateway inte ce 執行的cgi版本.對於unix伺服器,這是cgi 1.1.server protocol 伺服器執...
CGI 環境變數
環境變數意義 server name cgi指令碼執行時的主機名和ip位址.server software 你的伺服器的型別如 cern 3.0 或 ncsa 1.3.gateway inte ce 執行的cgi版本.對於unix伺服器,這是cgi 1.1.server protocol 伺服器執行...
CGI 環境變數
環境變數 意義 server name cgi指令碼執行時的主機名和ip位址.server software 你的伺服器的型別如 cern 3.0 或 ncsa 1.3.gateway inte ce 執行的cgi版本.對於unix伺服器,這是cgi 1.1.server protocol 伺服器執...