VFPCGI Day1
出自VFP Wiki
VFPCGI的第一天
CGI,亦即 Common Gateway Interface,應該說是所有 web server side 技術的前身。
基本的原理是利用標準輸出入與環境變數來作為 web server 與應用程式溝通的介面。
VFP 本身並不支援標準輸出入,必須透過 Windows API 才可以。 所以我們利用 GetStdHandle 取得標準輸出檔案的 Handle,再使用 WriteFile 輸出。
讓我們來看看第一個 CGI 應用程式:
* * cgi01 * DECLARE INTEGER GetStdHandle in Win32API integer nHandleType declare integer WriteFile in Win32API integer hFile, string @ cBuffer,; integer nBytes, integer @ nBytes2, integer @ nBytes3 LOCAL lnOutHandle LOCAL lnBytesWritten LOCAL lnOverLappedIO LOCAL lcOutput lnOutHandle=GetStdHandle(-11) lnBytesWritten=0 lnOverLappedIO=0 lcOutput = "HTTP/1.0 200 OK"+chr(13)+chr(10) + ; "Content-type: text/html"+chr(13)+chr(10) + ; CHR(13) + CHR(10) + ; "<p>Hello world</p>" WriteFile(lnOutHandle, @lcOutput, len(lcOutput), @lnBytesWritten, @lnOverLappedIO)
步驟:
- 請先建立一個新專案,命名為 vfpcgi,再新增一個 cgi01.prg,把上面的程式碼貼進去,再編譯成 Windows executable (.exe) 檔案,所以你得到了 vfpcgi.exe
- 在 c:\inetpub\wwwroot 下新增一個目錄,命名為 vfpcgi,將 vfpcgi.exe 複製到這裡
- [控制台][系統管理工具]執行Internet Information Services
- 在左邊你會看到 vfpcgi,滑鼠右鍵,選取內容
- 點選 "建立" 按鈕,左邊原本黯淡的 TextBox 會亮起來,將使用權限改為"指令及執行檔",應用程式保護選擇為"高",按下確定。
- 確定你的 IIS 已經啟動,然後打開你的瀏覽器,在網址列輸入 http://localhost/vfpcgi/vfpcgi.exe,這個時候你應該會看到顯示著 Hello world 的頁面~