html與cgi腳本的配合使用

利用boa服務器測試arm開發板上的cgi和html聯合編程的小例程。很簡單,但是當時覺得很有意思。在這里給大家展示一下,高手飄過。

在ubuntu下安裝boa測試環境,即先在本地搭建一個boa的網頁服務器。apt-get install boa。稍作配置即可。我的Boa按照默認配置www網頁放在/var/www目錄,而cgi腳本放在/usr/lib/cgi-bin目錄

下面以一個示例較少cgi和html的配合使用

<html><head><title>Title of page</title></head>
<body><form ACTION="cgi-bin/mult.cgi">              
#這里指示cgi腳本的路徑<P>請在下面填入乘數和被乘數,按下確定后可以看到結果。
<INPUT NAME="m" SIZE="5" ><INPUT NAME="n" SIZE="5" ><BR><INPUT TYPE="SUBMIT" values="確定"></form ></body> 
</html>
將文件該名稱為Index.html放在www目錄
而mult.cgi代碼如下:
    #include <stdio.h>  #include <stdlib.h>  int main(void)  {  char *data;  long m,n;  printf("Content-Type:text/html;charset=utf-8\n\n");  printf("<html>\n");  printf("<head>\n<title>乘法結果</title>\n</head>\n");  printf("<body>\n");data = getenv("QUERY_STRING");  if(data == NULL)  printf("<P>錯誤!數據沒有被輸入或者數據傳輸有問題</p>");  else if(sscanf(data,"m=%ld&n=%ld",&m,&n)!=2)  printf("<P>錯誤!輸入數據非法。表單中輸入的必須是數字。</p>");  else printf("<P>%ld和%ld的成績是:%ld。",m,n,m*n);  printf("</body>\n");printf("</html>\n");  return 0;  }  
使用gcc將以上代碼編譯之后,將可執行文件該名稱為mult.gci,放 /usr/lib/cgi-bin目錄?
可以參考以上代碼,功能就是提供兩個輸入框,用戶輸入之后,點擊確定提交之后,返回計算結果。
一個很值得關系的問題是用戶瀏覽器的網頁怎么和服務器上的cgi腳本交互,在我們點擊提交之后,會發現在瀏覽器的地址欄有下面的字樣:
cgi
mult.cgi?m=254&n=321這就是瀏覽器向服務器傳遞的數據,m=254 n321,上述寫法是標準格式。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/276748.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/276748.shtml
英文地址,請注明出處:http://en.pswp.cn/news/276748.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

zabbix3監控ESXI主機

ESXI主機VMware公司企業級虛擬化的解決方案Vsphere的重要組件&#xff0c;也是虛擬機的宿主機&#xff0c;對其監控有著重要的意義&#xff0c;下邊介紹二種方發對其監控。 方法一&#xff1a;通過修改服務端的控制項來進行監控。 虛擬機監控分兩個步驟完成。首先&#xff0c;Z…

mybatis jar包_springboot2整合mybatis-plus3踩到的坑

前言最近在進行項目重構&#xff0c;在架構師的建議下&#xff0c;就把項目中mybatis切換成mybatis-plus。因為mybatis-plus在mybatis的基礎上只做增強不做改變&#xff0c;因此切換的成本很低&#xff0c;就只需改jar和配置內容&#xff0c;原先的代碼無需改動。因為mybatis-p…

java_二進制的前導的零

題目內容&#xff1a; 計算機內部用二進制來表達所有的值。一個十進制的數字&#xff0c;比如18&#xff0c;在一個32位的計算機內部被表達為00000000000000000000000000011000。可以看到&#xff0c;從左邊數過來&#xff0c;在第一個1之前&#xff0c;有27個0。我們把這些0稱…

共享幾套silverlight2 toolkit最新的皮膚控件樣式下載

下載了最新的silverlight2 toolkit看看&#xff0c;發現里面的控件樣式還是多漂亮的&#xff0c;與大家分享下。 blue dark light orange purple red 樣式源碼下載&#xff1a;點擊下載 當然&#xff0c;我最喜歡的還是orange哦。 轉載于:https://www.cnblogs.com/liaohenchen/…

python爬取同花順_Java爬取同花順股票數據(附源碼)

最近有小伙伴問我能不能抓取同花順的數據&#xff0c;最近股票行情還不錯&#xff0c;想把數據抓下來自己分析分析。我大A股&#xff0c;大家都知道的&#xff0c;一個概念火了&#xff0c;相應的股票就都大漲。 如果能及時獲取股票漲跌信息&#xff0c;那就能在剛開始火起來的…

開會=浪費時間?阿里技術團隊這樣開項目復盤會

2019獨角獸企業重金招聘Python工程師標準>>> 阿里妹導讀&#xff1a;復盤是項目結束后必不可少的階段&#xff0c;好的復盤會議能夠有效地促進團隊成長。今天&#xff0c;阿里項目管理專家鹿迦以自身的經驗&#xff0c;為大家分享如何做好一個項目的復盤。這篇文章分…

Spring @Value注解無法正確賦值問題

正確的調用方式為&#xff1a; Component public class IconProperties {Value("${icon.url}")private String url; } public class test{AutowiredIconProperties icon;public void test(){ String url icon.url; } } 這里有三個需要注意的點&#xff1a; 1.Value…

Extjs中使用FusionChart舉例

一 前言&#xff1a; 在項目實施中&#xff0c;設計統計部分經常會使用圖表進行顯示&#xff0c;在Extjs3中內置了圖表控件&#xff0c;但實際表現無法達到3D的美觀效果&#xff0c;通過查找FusionChart可以實現比較美觀的3D或2D圖表顯示。注&#xff1a;FusionChart是個商業…

drawitem設置指定行的背景顏色_Java 為 Excel 中的行設置交替背景色

點擊上方 好好學java &#xff0c;選擇 星標 公眾號重磅資訊、干貨&#xff0c;第一時間送達今日推薦&#xff1a;牛人 20000 字的 Spring Cloud 總結&#xff0c;太硬核了~作者&#xff1a;Jazzz鏈接&#xff1a;https://www.cnblogs.com/jazz-z/p/12665819.html在制作Excel表…

常見的關系型數據庫和非關系型數據及其區別

一、關系型數據庫 關系型數據庫最典型的數據結構是表&#xff0c;由二維表及其之間的聯系所組成的一個數據組織 優點&#xff1a;1、易于維護&#xff1a;都是使用表結構&#xff0c;格式一致&#xff1b;2、使用方便&#xff1a;SQL語言通用&#xff0c;可用于復雜查詢&#x…

逆序數技巧 - 牛客

鏈接&#xff1a;https://ac.nowcoder.com/acm/contest/308/D來源&#xff1a;牛客網 題目描述 tokitsukaze給你一個長度為n的序列&#xff0c;這個序列是1到n的一種排列。然后她會進行q次操作。每次操作會給你L R k這三個數&#xff0c;表示區間[L,R]往右移動k次。移動一次的…

Ajax跨域提交JSON和JSONP

可以直接使用$.getJSON()方法實現跨域請求&#xff0c;參數中必須加上callback&#xff0c;如&#xff1a; var jsonpUrl http://www.test.com/index.php?cApi_Order&aAddOrder&callback?;var param {uid:uid,type:type,cityId:cityId};$.getJSON(jsonpUrl, param,…

mysql數據庫商業版與社區版的區別

1、商業版本組織管理與測試環節控制更嚴格&#xff0c;穩定性方面&#xff0c;會比社區版本更穩定。 2、mysql是成熟產品&#xff0c;商業版與社區版之間性能方面相差不大。 3、商業版不遵守GPL協議&#xff0c;社區版遵守GPL協議可以免費使用。 4、使用商業版后可以購買相關的…

UML的奧妙 - 學習UML筆記(1)

前兩天買了一本《大象 Thinking in UML》&#xff0c;其實本就有學習UML的念頭&#xff0c;但都因這樣那樣的事兒耽擱了&#xff0c;當然&#xff0c;也有些惰性在作祟...... 閑話少說&#xff0c;這本書看完了一章&#xff0c;發現還是不錯的&#xff0c;先把這兩天的學習情況…

無法檢查指定的位置是否位于cfs上_(干貨分享)一文搞明白 節氣門位置傳感器的作用、故障類型與癥狀、診斷方法...

1 位置節氣門位置傳感器(ThrottlePositionSensor&#xff0c;TPS)&#xff0c;位于節氣門體上&#xff0c;其安裝形式因節氣門結構的不同而有所差異&#xff1a;對于傳統的機械拉索式節氣門&#xff0c;節氣門位置傳感器通常以一個獨立元件的形式安裝在節氣門體的側面&#xf…

盒子模型

1 <!doctype html>2 <html>3 <head>4 <title>盒子模型</title>5 <meta charset"utf-8">6 <meta name"keywords", content"">7 <meta name"description&…

表單跨域提交

利用form表單跨域post 現在ajax應用這么廣泛&#xff0c;一般的應用都是直接通過異步調用就可以了&#xff0c;但是有些東西必須要使用post&#xff0c;而且是跨域的時候&#xff0c;ajax異步調用的方式就無能為力了。當然現在也有很多種辦法&#xff0c;比如通過flash中轉去po…

Asp.net(C#)-顯示所有緩存 清除所有緩存

//清除所有緩存protectedvoidRemoveAllCache() { System.Web.Caching.Cache _cache HttpRuntime.Cache; IDictionaryEnumerator CacheEnum _cache.GetEnumerator(); ArrayList al new ArrayList(); while (CacheEnum.MoveNext()) { …

mysql數據庫三大引擎優缺點

1.MyISAM 特性&#xff1a; ①不支持事務。 ②表級鎖定&#xff0c;并發性能大大降低。 ③讀寫互相阻塞。 適用場景&#xff1a; ①不支持事務。 ②并發相對較低&#xff0c;表鎖定。 ③執行大量select語句操作的表。 ④count(*)操作較快。 ⑤不支持外鍵。 注&#xff1a;查詢速…

Python--day60--一個簡單(不完整)的web框架

轉載于:https://www.cnblogs.com/xudj/p/10091775.html