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.mzph.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