资源简介
在嵌入式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个文件信息
相关资源
- C++调用python3.5中的函数
- python3.x Opencv Toturial
- microsoft visual c++ 14.0 For Python
- pyinstaller 解问题包
- Microsoft visual c++ 14.058503
- winows下python安装xgboost的包
- mfc按CEdit编辑框弹出自定义键盘
- 数据结构与算法分析.C++语言描述 第四
- GDAL-2.3.3-cp35-cp35m-win_amd64.whl
- 基于OpenCV3( Python / C++ ) 的车道检测
- python课件pdf哈工大
- python实现说话人识别实验与开发
- gdb-python27.exe
- NSGA II代码实现集合包含、讲解及 网络
- Python源码剖析-深度探索动态语言核心
- 算法图解-Python语言版本C/C++也可以看
- 酷Q二次开发c++python 混合编程说文件不
- Microsoft Visual C++ Build Tools
- python通过ctypes调用c\\c++编写的dll\\so库
- 深入浅出Python(中文版) pdf
- gcc.tar(gcc-4.8.5-39.el7.x86_64.rpm)
- python3.6.5安装包
- Geoprocessing-with-Python.pdf
- Scipy Tutorial(Scipy教程)
- C++ Primer 英文版
- OpenCV算法精解 基于Python与C++
- python版本推箱子(界面美化包含打包
- 《剑指Offer:名企面试官精讲典型编程
- python实现串口传文件调用PCOMM.dll Zm
- OpenCV算法精讲:基于Python与c++
评论
共有 条评论