一個簡約的、零依賴的包裝器,用於託管具有 HTTP/1.1 支援的 CGI 腳本。根據 MIT 許可證發布。
安裝最新穩定版本的cgi-core
:
npm 安裝 cgi-core
然後,啟動 CGI 伺服器:
npx cgi-server --filePath ./cgi-bin
以下是如何使用cgi-core
設定 CGI 伺服器的範例:
import { createServer } from "node:http";import { createHandler } from "cgi-core";// 建立一個處理 url 路徑下的 CGI 請求的 http 伺服器 /cgi-binconst handler = createHandler({ urlPath: "/cgi-bin", 檔案路徑:“./cgi-bin”, 副檔名: {"/usr/bin/perl": ["pl", "cgi"],"/usr/bin/python": ["py"],"/usr/local/bin/node": [ " js","節點"], }, debugOutput: false,});const app = createServer(async (req, res) => { const requestHandled = 等待處理程序(req, res); if (!requestHandled) {// 此處,處理urlPath 以外的任何路由=== '/cgi-bin'res.writeHead(200, { "Content-Type": "text/plain" });res. end( “urlPath 之外”); }});app.listen(3000);
使用 Express 的用法範例。
路由的基本 url。預設值:'/cgi-bin'
CGI 腳本所在的檔案路徑。強烈建議為filePath
設定一個值(例如:'./cgi-bin')。預設值: process.cwd()
包含給定解釋器路徑的檔案副檔名值的物件。如果沒有找到檔案副檔名的解釋器路徑,則 CGI 腳本將作為獨立可執行檔呼叫。預設:
// 在 POSIX 系統上{ "/usr/bin/perl": ["pl", "cgi"], “/ usr / bin / python”:[“py”], "/usr/local/bin/node": ["js", "node"]}// 在 Windows 系統上{ “perl”:[“pl”,“cgi”], 「蟒蛇」:[“py”], “節點”:[“js”,“節點”]}
用於在任何給定目錄中查找索引 CGI 腳本的檔案副檔名。預設值:“js”
設定 true 以啟用調試輸出。預設值: false
設定 true 將 HTTP 請求日誌列印到 STDOUT。預設值: false
允許的 HTTP 請求和回應負載的大小(以位元組為單位)。預設值: 2 * 1024 * 1024
(2 MB)
HTTP 請求負載資料塊的大小(以位元組為單位)。預設值: 16 * 1024
(16 KB)
HTTP 回應負載資料塊的大小(以位元組為單位)。預設值: 16 * 1024
(16 KB)
包含每個狀態代碼的自訂 HTTP 回應負載的物件。預設: {}
// 例:{ 404: {content: ` 404: 找不到檔案 `,contentType: "text/html" }, 500: {content: ` 500: 內部伺服器錯誤 `,contentType: "text/html" }}
包含要傳遞給 CGI 腳本的自訂環境變數的物件。預設: {}
// 例:{ SERVER_ADMIN:“[email protected]”, ANOTHER_VAR:「另一個值」}
指令cgi-server
可用於執行 HTTP 伺服器來為 CGI 腳本提供服務。
npx cgi-server --連接埠 3001 --urlPath /cgi-bin --filePath ./cgi-bin
-h, --help Display help --urlPathSet base url path for routing --filePath Set file path where the CGI scripts are located --indexExtension Set file extension to lookup for index files -d, --debugOutput Output errors for HTTP status 500 -l, --logRequests Log HTTP requests to STDOUT -p, --port Set the port to listen on
除了標準的 HTTP 相關變數之外,還支援以下 CGI 環境變數:
CONTENT_LENGTH CONTENT_TYPE PATH PATH_INFO SCRIPT_FILENAME SCRIPT_NAME SERVER_PROTOCOL SERVER_SOFTWARE QUERY_STRING REQUEST_METHOD REQUEST_URI
cgi-core
是根據 MIT 許可證發布的。
100% 免費: cgi-core
可以在專有和開源專案中自由使用。
需要註明出處:您必須在任何分發的代碼中保留作者姓名和許可資訊。這些項目不需要面向用戶,可以保留在程式碼庫中。