嵌入式应用中CGI编程中POST、GET及环境变量详解

1.POST和GET 一个CGI程序在于服务器之间的信息传输和数据传输一般通过两种方法,即POST和GET.具体是哪一种方法这需要通过CGI的一个环境变量REQUEST_METHOD判断(具体怎么判断我会在下面详细讲解),在这之前先讲一下URL编码. 1.1 URL编码 虽然在设置表单信息的传输方式时有POST和GET两种方法,但是不管采取哪种方法,浏览器采取的编码方式却是完全相同的.编码规则如下: □ 变量之间使用"&"分开 □ 变量与其对应值之间使用"="

CGI 编程方式学习

1.大家都知道CGI是通用网关接口,可以用来编写动态网页.而且CGI可以用很多种语言来写,用perl来编写最常见, 我这里就是用perl来编写做例子.讲到编写CGI编程方式,编写CGI有两程编程风格. (1)功能型编程(function-oriented style) 这种编程方式,不要自己去创建一个对象了,它本身就内置好了一个对象去使用.虽然它内置了一个对象,有些功能并没有 都加载进去,这里面可以自己定义开起哪些功能.注:在加载功能集时前面要加一上 : 才行 如 #!/usr/bin/perl

【Python进阶】04、CGI编程

一.CGI概述 1.CGI简介 CGI(Common Gateway Interface) 是WWW技术中最重要的技术之一,有着不可替代的重要地位.CGI是外部应用程序(CGI程序)与Web服务器之间的接口标准,是在CGI程序和Web服务器之间传递信息的过程.CGI规范允许Web服务器执行外部程序,并将它们的输出发送给Web浏览器,CGI将Web的一组简单的静态超媒体文档变成一个完整的新的交互式媒体. Common Gateway Interface,简称CGI.在物理上是一段程序,运行在服务器

[Linux C]CGI编程

Linux CGI编程 http://linux.chinaitlab.com/kernel/526433.html   http://www.trainlinux.com/p/2002-01-11/4279.html http://blog.csdn.net/csumck/archive/2005/11/23/535531.aspx 为什么要进行CGI编程? 在HTML中,当客户填写了表单,并按下了发送(submit)按钮后,表单的内容被发送到了服务器端,一般的,这时就需要有一个服务器端脚本来

CGI编程(笔记)(草稿)

cgi是一段程序,运行在server http是静态的,但是cgi是动态交互的 cgi最大的特点就是让网页实现的交互功能 cgi处理步骤 1.通过Internet把用户请求送到服务器 2.服务器接收用户请求并交给CGI程序处理 3.CGI程序把处理结果传送给服务器 4.服务器把结果送回到用户 CGI可以用任何一种语言编写,只要这种语言具有标准输入.输出和环境变量. 主要是靠上面的三个特性来实现交互的 CGI程序的输出: CGI程序中的标准输出是经过重定向了的.CGI程序并不会在服务器上产生任何的

用Ruby进行CGI编程的入门指引

编写CGI脚本: 最基本的Ruby CGI脚本看起来像这样: #!/usr/bin/ruby puts "HTTP/1.0 200 OK" puts "Content-type: text/html\n\n" puts "<html><body>This is a test</body></html>" 如果调用这个脚本 test.cgi 上传到基于Unix/Linux的Web托管服务提供商并具有合

CGI编程学习3 加法计算

现象: 在表单中输入两个数据.调用CGI返回两个数据相加的和. 下面我们看一下:htm部分代码 <html> <head> <title>CGI:Test add</title> </head> <body> <form action="/cgi-bin/demo2.cgi"> <p> <h1>请输入两个数据: <input type="text" na

CGI编程学习4 登陆窗口

目的: 写一个登录窗口,输入帐号和密码,正确时返回成功.不正确时返回失败. 下面看下 html代码: <html> <head> <TITLE>CGI3:登录</TITLE> </head> </body> <FORM ACTION="/cgi-bin/demo3.cgi" METHOD="POST"> <P>用户名:<INPUT NAME="name&q

一个简单的cgi编程例子

工作环境 操作系统:Ubuntu 12.04 Web服务器:Apache 开发语言:Python 准备工作 安装Apache sudo apt-get install apache2 配置Apache 修改Apache配置文件(/etc/apache2/httpd.conf),添加以下内容 <Directory "/var/www/bin-cgi/"> AllowOverride None Options ExecCGI Order allow,deny Allow fro

cgic: 为C语言编写CGI的C函数库

由Thomas Boutell开发 目录 CGIC介绍 怎样写CGIC应用程序 怎样产生图片在CGIC中? CGI调试特征: 利用捕获 cgic函数参考 cgic变量参考 cgic结果编码参考 cgic快速索引 一般的UNIX系统都支持ANSIC,增加相应的库函数(和相应的h文件)就可以实现CGI.在此我向大家推荐一个用于CGI编程的ANSIC库:cgic. cgic是用来生成基于CGI的WWW应用程序的C语言函数库,它有以下功能: *对数据进行语法分析 *接收以GET和PSOT两种方式发送的数

【Linux】【CGI】用CGIC库来开发CGI程序

cgic是专门为CGI开发的一个ANSI C库,封装了一些C语言CGI编程常用的操作,以及一些字符串和环境变量的处理,服务器提交以后,CGIC先将环境变量或者是标准输入中的数据取出进行一定的处理后再交给用户程序,给C开发CGI带来了极大的方便,下载地址为:www.boutell.com,目前版本号为:2.05当然为了熟悉WEB编程你也可以不使用这个库,我是无意将重点放在web编程上,所以我用CGIC,呵呵. CGI特性: ü        对数据进行语法分析: ü        接收以GET和P

linux下的webserver BOA及CGIC库的使用指南

linux下的webserver BOA及CGIC库的使用指南(转帖) 我把网页挂载到nfs 下面的文件中(需要新建一个文件www ),不过这样很方便! 安装过程 ========================================================== 1 )在www.boa.org 下载boa-0.94.13.tar.gz 并解压 # tar -zxvf boa-0.94.13.tar.gz 2 )在src 目录下运行./configure 3 )生成Makefil

关于cgi库

关于cgi库 2009年07月02日 目前Web技术中生成动态Web页面的方法有CGI和服务器脚本,如JSP, ASP等,但后者需要Web服务器具有这些脚本的运行支持模块.在嵌入式Web服务器中,考虑到资源限制问题,一般都只提供CGI支持,因此在嵌入式设备中Web方式应用实际上就是基于CGI的程式研发. CGI(Common Gate Intergace)是一段运行在Web服务器上的程式,提供同客户端Html页面的接口.我们看一个实际例子:常见的个人主页上大都有一个留言本,留言本的工作方式是这样

CGIC简明教程(转摘)

CGIC简明教程 本系列的目的是演示如何使用C语言的CGI库"CGIC"完成Web开发的各种要求. ********************************* 基础知识 1.使用CGIC的基本思路 2.获取Get请求字符串 3.反转义 4.获取请求中的参数值 进阶训练 5.用CGIC实现文件上传********************************* 1:使用CGIC的基本思路 C语言编程是一项复杂且容易出错的工作,所以在完成复杂任务时,一定要选择合适的库.对于用C语

CGI之C语言篇

为什么要进行CGI编程? 在HTML中,当客户填写了表单,并按下了发送(submit)按钮后,表单的内容被发送到了服务器端,一般的,这时就需要有一个服务器端脚本来对表单的内容进行一些处理,或者是把它们保存起来,或者是按内容进行一些查询,或者是一些别的什么.没有了CGI,WEB的世界就完全失去了它的交互性,所有的信息都变成单向的了,而不能够有任何的反馈. 有的人认为可以用JavaScript来代替CGI程序,这其实是一个概念上的错误.JavaScript只能够在客户浏览器中运行,而CGI却是工作在

cgi表单的处理

在HTML中,当客户填写了表单,并按下了发送(submit)按钮后,表单的内容被发送 到了服务器端,一般的,这时就需要有一个服务器端脚本来对表单的内容进行一些处理, 或者是把它们保存起来,或者是按内容进行一些查询,或者是一些别的什么.没有了CGI, WEB的世界就完全失去了它的交互性,所有的信息都变成单向的了,而不能够有任何的反馈 . 有的人认为可以用java script来代替CGI程序,这其实是一个概念上的错误.javascript只能够在客户浏览器中运行,而CGI却是工作在服务器上的.他们

关于 CGI 运行出错的原因分析

CGI文件运行页面出现 如下错误 502 Bad GateWay The CGI was not CGI/1.1 compliant. boa服务器端如下: cgi_header:unable to find LFLF 检查后发现遇到的原因为: 程序开始处: printf("\n\n\"); 少了两个"\n\n";这个在CGI程序中式必不可少的. 百度解释如下: 面已经提到标准输出的内容就是要被显示在浏览器中的内容.第一行的输出内容是必须的,也是一个CGI程序所特有

用C++实现类似于JAVA HttpServlet 的编程接口

互联网刚兴起时,很多项目都是用 C /Perl 语言写的一大堆 CGI,一些老程序员可谓是偿尽了编程的苦,因为那时国内的技术水平普遍比较低,如果你会 CGI 编程,就已经算是行业中人了,如果你对 CGI 编程比较熟练,则就可以称得是"专家"了,后来技术不断进步,各种国外的新技术都进入中国并不断得到普及,CGI 就逐渐沦为一种落后的技术,后来的 PHP, JSP/Servlet, ASP 逐渐占领了 WEB 编程的技术市场,这个时候如果你说再用 C 写 CGI,别人会感觉是在和古人对话.

cgi移植

cgi移植 CGIC是一个支持CGI开发的开放源码的标准C库.移植比较简单. 1.下载源码 http://www.boutell.com/cgic/上下载源码,当前最新版本是2.06 tar xzf cgic206.tar.gz(实际下载到的是.tar.tar,一样) 2.修改Makefile文件 a. 修改 CC = gcc 为 CC = /usr/local/arm/2.95.3/bin/arm-linux-gcc b. 修改 AR = ar 为 AR = /usr/local/arm/2.

JAVA编程思想:第15章 网络编程

第15章 网络编程 历史上的网络编程都倾向于困难.复杂,而且极易出错. 程序员必须掌握与网络有关的大量细节,有时甚至要对硬件有深刻的认识.一般地,我们需要理解连网协议中不同的"层"(Layer).而且对于每个连网库,一般都包含了数量众多的函数,分别涉及信息块的连接.打包和拆包:这些块的来回运输:以及握手等等.这是一项令人痛苦的工作. 但是,连网本身的概念并不是很难.我们想获得位于其他地方某台机器上的信息,并把它们移到这儿:或者相反.这与读写文件非常相似,只是文件存在于远程机器上,而且远