資源簡介
在嵌入式web服務器boa框架的基礎上,
使用C語言cgi, 或者Python腳本, 結合HTML + javascript + ajax 的嵌入式web系統的開發實例
html 中使用javascritp + ajax 從C語言生成的cgi文件的get, set 一些值.
boa服務器的相關配置參數說明:
http://www.cnblogs.com/liuweiqiang/p/3859130.html
boa安裝包文件名: boa-for-hi3516a.tar.gz
boa.conf 文件的保存路徑: cat /etc/boa/boa.conf
boa可 執行文件的路徑: /usr/local/bin/boa, 可以設置為: 系統啟動的時候, 這個進程自動啟動
boa.conf 文件的重要參數
保存html文件的目錄
DocumentRoot /www
可以將這個目錄, 設置為samb共享文件夾的目錄, 方便修改調試
修改完成以后, 肯定要重啟boa進程的
保存python腳本, 或者C語言cgi文件的目錄
ScriptAlias /cgi-bin/ /var/www/cgi-bin/
說明: cgi-bin/ 后面的斜杠, 一定要加上
可以將這個目錄, 設置為samb共享文件夾的目錄, 方便修改調試
修改完成以后, 肯定要重啟boa進程的
html文件文件中, 調用python腳本的時候, 指定的路徑, 需要有: /cgi-bin, 比如:
var url = "/cgi-bin/getuser.py"; 這個是python
或者
var url = "/cgi-bin/output.cgi"; 這個是C語言
說明:
如果發現, html文件, 修改了, 可是在瀏覽器中, 查看html源代碼的時候, 這個代碼, 還是舊的,
那么可以通過清空"IE瀏覽器", "360瀏覽器"的瀏覽記錄
以上, javascript 可以調用python
同樣, 也可以調用C語言生成的cgi文件(其實, 就是可執行文件)
C語言 + Html 例子
C語言 CGI實例
http://blog.csdn.net/ajrm0925/article/details/8810342
http://blog.csdn.net/liang890319/article/details/6277900
http://blog.csdn.net/gnefniu/article/details/42432657
上傳文件:
http://blog.csdn.net/yu_xiang/article/details/7996670
查找文件
find . -type f -name "boa.conf" -print -mount
find . -type f -name "boa" -print -mount
四、嵌入式web服務器boa的配置和使用
嵌入式web服務器boa的配置文件為boa.conf, 在boa-0.94.13目錄下面,復制該文件到文件
系統的/etc/boa目錄下面,打開boa.conf,修改為如下內容:
Port 80
User root
Group root
ErrorLog /dev/console
AccessLog /dev/null
ServerName SoftEmbed.com
DocumentRoot /www
DirectoryIndex index.html
KeepAliveMax 1000
KeepAliveTimeout 10
MimeTypes /etc/mime.types
DefaultType text/plain
CGIPath /bin:/usr/bin:/usr/local/bin
ScriptAlias /cgi-bin/ /www/cgi-bin/
幾個重要配置參數如下:
DocumentRoot: 存放html文檔的主目錄;
DirectoryIndex: 默認返回的html文檔;
ScriptAlias:cgi腳本虛擬路徑對應的實際路徑,/www/cgi-bin/為cgi腳本存放的實際路徑;
其他配置選項的意義請參考相關資料。
復制boa可執行文件到/usr/sbin目錄中, 啟動boa進程
重新制作文件系統,系統啟動后,在客戶端瀏覽器上輸入開發板的ip 地址,例如:
http://192.168.0.218, 就可以看到顯示的測試網頁了,如下圖所示
CGI getenv函數的參數詳解: http://www.cnblogs.com/ser0632/p/5498228.html
s = geten

代碼片段和文件信息
#include?
#include?
//編譯生成cgi文件的命令:??gcc?-o?aaa.cgi?aaa.c
//cgi?文件?其實就是可執行文件
//參考的網站:?http://blog.csdn.net/ajrm0925/article/details/8810342
//將這個aaa.cgi文件?存放到Linux目錄:?/var/www/cgi-bin/中?并賦予可執行權限?chmod?777?./*
int?main(void)
{
????char?*data;
????long?m?n;
????printf(“%c%c“?13?10);
????printf(“%s%c%c“?“ta?Content-Type:text/html;charset=UTF-8?/>\n“?13?10);
????printf(“tle>乘法結果 tle>\n“);
????printf(“乘法結果
\n“);
????
????//得到html上控件的信息?是通過參數傳遞過來的?
????//比如:?http://172.30.4.34/cgi-bin/aaa.cgi?m=8&n=9?這里的:?m=8&n=9
????//然后?C語言?通過函數:?sscanf?獲取出來他們的值
????data?=?getenv(“QUERY_STRING“);
????if(data?==?NULL)
????????printf(“錯誤?數據沒有被輸入或者數據傳輸有問題\n“);
????else?if(sscanf(data?“m=%ld&n=%ld“?&m?&n)?!=?2)?//通過格式化得到html傳過來的字符串的內容
????????printf(“
錯誤?輸入數據非法?表單中輸入的必須是數字.\n“);
????else
????????printf(“
%ld和%ld的成績是:?%ld.\n“?m?n?m?*?n);
????fflush(stdout);
????return?0;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????1792000??2017-02-27?10:31??嵌入式web服務器_示例代碼\boa-for-hi3516a.tar.gz
?????文件??????49502??2017-03-03?16:34??嵌入式web服務器_示例代碼\python處理ajax請求?-?liuweiqiang2v?-?博客園.html
?????文件???????3046??2017-03-03?16:34??嵌入式web服務器_示例代碼\python處理ajax請求?-?liuweiqiang2v?-?博客園_files\20140215130931.png
?????文件?????297255??2017-03-03?16:34??嵌入式web服務器_示例代碼\python處理ajax請求?-?liuweiqiang2v?-?博客園_files\212024514169803.jpg
?????文件?????106720??2017-03-03?16:34??嵌入式web服務器_示例代碼\python處理ajax請求?-?liuweiqiang2v?-?博客園_files\212025522297358.jpg
?????文件??????58644??2017-03-03?16:34??嵌入式web服務器_示例代碼\python處理ajax請求?-?liuweiqiang2v?-?博客園_files\212026393852751.jpg
?????文件??????56562??2017-03-03?16:34??嵌入式web服務器_示例代碼\python處理ajax請求?-?liuweiqiang2v?-?博客園_files\212028001504577.jpg
?????文件??????56219??2017-03-03?16:34??嵌入式web服務器_示例代碼\python處理ajax請求?-?liuweiqiang2v?-?博客園_files\212028378386064.jpg
?????文件??????32505??2017-03-03?16:34??嵌入式web服務器_示例代碼\python處理ajax請求?-?liuweiqiang2v?-?博客園_files\24442-20170118152220281-363324784.jpg
?????文件??????28401??2017-03-03?16:34??嵌入式web服務器_示例代碼\python處理ajax請求?-?liuweiqiang2v?-?博客園_files\24442-20170301190900595-1906438193.jpg
?????文件??????28986??2017-03-03?16:34??嵌入式web服務器_示例代碼\python處理ajax請求?-?liuweiqiang2v?-?博客園_files\analytics.js
?????文件??????34036??2017-03-03?16:34??嵌入式web服務器_示例代碼\python處理ajax請求?-?liuweiqiang2v?-?博客園_files\blog-common.css
?????文件??????61951??2017-03-03?16:34??嵌入式web服務器_示例代碼\python處理ajax請求?-?liuweiqiang2v?-?博客園_files\blog-common.js
?????文件????????798??2017-03-03?16:34??嵌入式web服務器_示例代碼\python處理ajax請求?-?liuweiqiang2v?-?博客園_files\bundle-coffee-mobile.css
?????文件??????15364??2017-03-03?16:34??嵌入式web服務器_示例代碼\python處理ajax請求?-?liuweiqiang2v?-?博客園_files\bundle-coffee.css
?????文件????????263??2017-03-03?16:34??嵌入式web服務器_示例代碼\python處理ajax請求?-?liuweiqiang2v?-?博客園_files\copycode.gif
?????文件???????6855??2017-03-03?16:34??嵌入式web服務器_示例代碼\python處理ajax請求?-?liuweiqiang2v?-?博客園_files\encoder.js
?????文件???????3927??2017-03-03?16:34??嵌入式web服務器_示例代碼\python處理ajax請求?-?liuweiqiang2v?-?博客園_files\icon_weibo_24.png
?????文件??????94020??2017-03-03?16:34??嵌入式web服務器_示例代碼\python處理ajax請求?-?liuweiqiang2v?-?博客園_files\jquery.js
?????文件?????????43??2017-03-03?16:34??嵌入式web服務器_示例代碼\python處理ajax請求?-?liuweiqiang2v?-?博客園_files\logo.gif
?????文件???????4782??2017-03-03?16:34??嵌入式web服務器_示例代碼\python處理ajax請求?-?liuweiqiang2v?-?博客園_files\wechat.png
?????文件????????404??2017-03-03?16:34??嵌入式web服務器_示例代碼\python處理ajax請求?-?liuweiqiang2v?-?博客園_files\xm
?????文件??????55504??2017-02-27?10:31??嵌入式web服務器_示例代碼\RedHat9.0?linux上配置和使用BOA服務器.pdf
?????文件???????7439??2017-03-01?11:04??嵌入式web服務器_示例代碼\嵌入式web服務器_代碼示例\boa.conf
?????文件???????1107??2017-03-02?16:54??嵌入式web服務器_示例代碼\嵌入式web服務器_代碼示例\C語言_html\例子_1\aaa.c
?????文件????????190??2017-03-02?16:24??嵌入式web服務器_示例代碼\嵌入式web服務器_代碼示例\C語言_html\例子_1\test.html
?????文件?????102983??2017-03-02?16:47??嵌入式web服務器_示例代碼\嵌入式web服務器_代碼示例\C語言_html\例子_1\用C語言寫CGI?-?經驗之外?-?博客頻道?-?CSDN.NET.html
?????文件???????2524??2017-03-02?16:47??嵌入式web服務器_示例代碼\嵌入式web服務器_代碼示例\C語言_html\例子_1\用C語言寫CGI?-?經驗之外?-?博客頻道?-?CSDN.NET_files\100x100.jpg
?????文件???????6696??2017-03-02?16:47??嵌入式web服務器_示例代碼\嵌入式web服務器_代碼示例\C語言_html\例子_1\用C語言寫CGI?-?經驗之外?-?博客頻道?-?CSDN.NET_files\10790414792326964835
?????文件???????2917??2017-03-02?16:47??嵌入式web服務器_示例代碼\嵌入式web服務器_代碼示例\C語言_html\例子_1\用C語言寫CGI?-?經驗之外?-?博客頻道?-?CSDN.NET_files\1464164053876_876.jpg
............此處省略168個文件信息
評論
共有 條評論