新的網(wǎng)站設(shè)計人員在建立網(wǎng)站之后經(jīng)常問到一個問題就是:“什么是CGI腳本,如何在我的網(wǎng)站上使用它?”或“如何在我的網(wǎng)站上創(chuàng)建交互式表單?”。
在本文中,我們將回答有關(guān)CGI腳本的問題,并演示如何創(chuàng)建自己的腳本。
在此過程中,您還將了解有關(guān)Web服務(wù)器的一些知識。讓我們開始吧!
如Web服務(wù)器工作原理一文中所述,Web服務(wù)器相當簡單。從根本上說,Web服務(wù)器只是從磁盤中檢索出文件,并通過網(wǎng)絡(luò)將其發(fā)送到發(fā)出請求的瀏覽器。假設(shè)您鍵入URL:http://www.bygpub.com/books/tg2rw/author.htm。Web服務(wù)器將會獲得一個針對文件/books/tg2rw/author.htm的請求。查看下圖,您可以了解服務(wù)器是如何解決該請求的:
在安裝過程中,Web服務(wù)器已被告知c:My Documentswww是服務(wù)器的根目錄。然后,該服務(wù)器會從根目錄中找出/books/tg2rw/author.htm。當您請求URL http://www.bygpub.com/books/tg2rw/時,該服務(wù)器就會知道您正在查找該目錄的默認文件。它會查找一些不同的文件名以試圖找到默認文件:index.html、index.htm、default.html和default.htm。根據(jù)服務(wù)器的不同,它也可以查找其他文件名。因此,該服務(wù)器會將 http://www.bygpub.com/books/tg2rw/轉(zhuǎn)換為 http://www.bygpub.com/books/tg2rw/index.htm并傳送該文件。所有其他文件必須通過明確給出文件名來指定。
這就是所有Web服務(wù)器處理靜態(tài)文件的方式。大多數(shù)Web服務(wù)器還可以通過稱作通用網(wǎng)關(guān)接口(CGI)的機制處理動態(tài)文件。您已經(jīng)在Web上的各種地方看到過CGI,只不過您當時可能對它并不了解。例如:
您可以在任何留言簿上通過HTML表單輸入消息,當下一次查看此留言簿時,頁面將會包含您輸入的新條目。
Network Solutions
上的WHOIS表單允許您在表單上輸入域名,返回的網(wǎng)頁將根據(jù)輸入的域名而有所不同。
任何搜索引擎都允許您在HTML表單上輸入關(guān)鍵字,然后它將根據(jù)您輸入的關(guān)鍵字動態(tài)創(chuàng)建頁面。
所有這些動態(tài)頁面使用的都是CGI。
高中僧,在某企業(yè)實習,被要求寫一個控制貨柜的程序。協(xié)議文檔里面提到了CGI,然而搜了一個多禮拜,也迷茫了一個多禮拜。有人指條明路該怎么實現(xiàn)么?
控制貨柜的程序?為啥要用B/S結(jié)構(gòu)?
很多種辦法都比CGI好,CGI挺麻煩的,不太適合新手。
啥迷惘的說出來聽聽,大家樂呵樂呵,,,好吧,開玩笑的,說出來幫你分析分析。。
非常感謝,事實上我認為我是不得不用CGI啊
先描述下我遇到的問題好了
我在一家制造業(yè)單位,用的是自動化的倉儲設(shè)備,就是有很多個托盤,上面用來放零件什么的。我的任務(wù)呢,就是寫個可以控制這玩意的程序,比如讓指定的托盤放到指定的地方之類的。
為啥我說我要用CGI控制這玩意呢?因為我拿到的協(xié)議是長這個樣子的:
今天一個客戶反映服務(wù)器不支持CGI,我上去看了一下。原來這客戶只是安裝了ActivePerl,默認安裝有些地方?jīng)]有配置清楚,所以CGI不能運行。我重新安裝了ActivePerl,并檢查了配置,就可以了。在這里把windows2003的iis6.0環(huán)境下的CGI配置做個教程,方便自己也方便大家。
第一步:下載ActivePerl,并安裝。
這里可以選擇安裝路徑,一般不用改用默認的c:\perl就行了,直接點next
這里是選擇安裝選項,一般就是用默認,直接點next,install安裝,安裝完成。
第二步:檢查權(quán)限,添加CGI映射。
打開c:\perl目錄的屬性,點安全,查一下user賬號對這個目錄要有讀取,讀取和運行,列出文件夾三個權(quán)限,要不運行CGI程序時會提示輸入用戶名密碼。
打開IIS管理器,WEB服務(wù)擴展,允許所有未知CGI擴展,Perl CGI Extension,Perl ISAPI Extension,PerlEx ISAPI Extension
然后回到網(wǎng)站屬性,在主目錄選項里點配置,添加CGI后綴映射。點添加,可執(zhí)行文件后面輸入C:\Perl\bin\perl.exe "%s" %s,或者直接把.pl的配置復(fù)制上來,擴展名是cgi,限制為GET,HEAD,POST,TRACE,點確定。
]]>