CGI程式設計中POST GET詳解

2021-09-20 20:31:28 字數 1705 閱讀 1254

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...