標準 CGI 需手動解析環境變數、URL 解碼、multipart 表單,錯誤率高。WinCGI 採用 INI 檔案參數傳遞,由 Web 伺服器預先完成所有解析與解碼,CGI 程式僅需讀取現成資料。
yourCGI.exe param.txt,參數檔為第一引數。GetPrivateProfileString / GetPrivateProfileInt 讀取。| 區塊 | 內容 |
|---|---|
| [CGI] | 系統參數:Request Method、Query String、Request Protocol、Remote Addr、Server Name 等 |
| [Form Literal] | 一般表單欄位(application/x-www-form-urlencoded)鍵值對 |
| [Form External] | 外部檔案引用(罕用) |
| [Form File] | 檔案上傳資訊:欄位名、檔名、Content-Type、暫存檔路徑、大小 |
| [Form Huge] | 大欄位資料(超過特定長度) |
| [Accept] | HTTP Accept 標頭解析 |
| [System] | 伺服器環境變數複製 |
| [Extra Headers] | 其他 HTTP 標頭 |
char szValue[1024];
GetPrivateProfileString("[Form Literal]", "username", "", szValue, sizeof(szValue), "param.txt");
// szValue 即為使用者輸入的 username,已自動 URL 解碼
現代替代: 同樣享有「預解析參數」便利性的有 PHP $_POST/$_FILES、ASP.NET Request.Form/Request.Files、Java Servlet request.getParameter 等。