cgi全稱是「通用閘道器介面」(common gateway inte***ce),http伺服器與你的或其它機器上的程式進行「交談」的一種工具,其程式一般執行在
網路伺服器
上。 cgi可以用任何一種語言編寫,只要這種語言具有標準輸入、輸出和
環境變數.
變數名描述content_type
content_length
如果伺服器與cgi程式資訊的傳遞方式是post,這個環境變數即使從標準輸入stdin中可以讀到的有效資料的位元組數。這個環境變數在讀取所輸入的資料時必須使用。
客戶機內的 cookie 內容。
提供包含了版本數或其他專有資料的客戶瀏覽器資訊。
path_info
這個環境變數的值表示緊接在cgi程式名之後的其他路徑資訊。它常常作為cgi程式的引數出現。
query_string
如果伺服器與cgi程式資訊的傳遞方式是get,這個環境變數的值即使所傳遞的資訊。這個資訊經跟在cgi程式名的後面,兩者中間用乙個問號'?'分隔。
remote_addr
這個環境變數的值是傳送請求的客戶機的ip位址
remote_host
這個環境變數的值包含傳送cgi請求的客戶機的主機名。如果不支援你想查詢,則無需定義此環境變數。
request_method
提供指令碼被呼叫的方法。對於使用 http/1.0 協議的指令碼,僅 get 和 post 有意義。
script_filename
cgi指令碼的完整路徑
script_name
cgi指令碼的的名稱
server_name
這是你的 web 伺服器的主機名、別名或ip位址。
server_software
這個環境變數的值包含了呼叫cgi程式的http伺服器的名稱和版本號
因為在fcgi_stdio.h中對printf進行了巨集轉向,在程式裡的printf 不再是標準輸出了
#define putchar fcgi_putchar
#define getchar fcgi_getchar
dllapi int fcgi_putchar(int c);
dllapi int fcgi_getchar(void);
例項#include
#include
#include 「fcgi_stdio.h」
void receive_data(inputbuffer,contentlength )
; for(i=0; i
inputbuffer[contentlength ++] =getchar(); }
} void send_data(p)
} int main(int argc, char*ar**)
if (strncmp(prequestmethod,"post")==0)
else
receive_data(contentlength );
} else if (strncmp(prequestmethod,"get")==0)
} }
return 0;
CGI程式設計 CGI環境變數
web伺服器和cgi fastcgi程式之間交流資訊的主要途徑是環境變數 以及標準輸入輸出流 這裡說的環境變數是指作業系統中的環境變數。windows系統下,path是很常見的乙個環境變數 cgi規範對cgi程式中使用的環境變數名稱及其含義做了具體而明確的規定,通常把這些環境變數成為 cgi環境變數...
CGI程式設計教程 二
cgi教程第七章 上傳檔案是建立互動式 的乙個重要手段。一般來說,考慮到cgi程式的安全和一些敏感問題,伺服器是不會輕易開放檔案上傳權利的。今天的程式是由website1.1附帶的乙個upload.exe程式,由vb編寫而成。所以我要講的也就是vb寫win cgi時候的一些問題。vb寫win cgi...
Linux之CGI程式設計小結
一 cgi標準輸入 環境變數 標準輸出 1 標準輸入 cgi程式的標準輸入是與web伺服器的標準輸出對應的,看起來就像其他可執行程式一樣通過標準輸入 stdin 得到輸入資訊,實則這些資料是由瀏覽器傳遞給伺服器後再由伺服器定向到cgi的輸入中的,如form表單中的資料,這就是所謂的web瀏覽器通過w...