CGI脚本练习
创始人
2025-05-28 02:03:46

CGI脚本练习

html初始如下:





test

Hello World.


点击链接,执行cgi脚本

链接,指向cgi脚本程序

Display the Date

在这里插入图片描述
在这里插入图片描述

判断用户登录

Is Laura Logged in?

pinglaura脚本:

#!/bin/bash
echo -e "Content-type: text/html"
echo
echo -e ""
echo -e "Is Laura There?"
echo -e ""
ison=`who | grep Laura`
if [ ! -z "$ison" ]; thenecho -e "

Laura is logged in" elseecho -e "

Laura isn't logged in" fi echo -e ""

在这里插入图片描述
在这里插入图片描述

带参数脚本

为了传递一个参数给脚本,可以在URL中使用 (?) 插入脚本名词和参数之间, 用加号(+) 表示每个单一的参数, 如:

Is John Logged in?

也可以直接修改路径信息

http://myhost/cgi-bin/myscript/remaining_path_info?arg1+arg2

pinggeneric脚本:

#!/bin/bash
echo -e "Content-type: text/html"
echo
echo -e ""
echo -e "Is Laura There?"
echo -e ""
ison=`who | grep "${1}"`
if [ ! -z "$ison" ]; thenecho -e "

$1 is logged in" elseecho -e "

$1 isn't logged in" fi echo -e ""

创建一个特殊的脚本输出

用调用另一个文本作为响应

CGI输出不是非得一个数据流,有时可以告诉浏览器是存在服务器上的一个页

Location: ../docs/final.html

不能Content-type 和 Location两个输出同时使用。

No Response

只是要从用户那儿收集点信息,什么都不改变。

echo Status: 204 No Response
echo

表单

大多数表单有两个部分: HTML的表单格式;处理表单数据的CGI脚本. 这个CGI脚本使用标签属性调用

表单形式和表单脚本

GET 和 POST

表单从浏览器发给服务器有两种方法. GET 和 POST。
上面谈论的方法,实际是GET,它将数据打包放置在环境变量QUERY_STRING中作为URL整体的一部分传递给服务器。

URL 编码

theName=Ichabod+Crane&gender=male&status=missing&headless=yes

因为表单输入是用这个URL编码传递给你的脚本的,在你用这些参数之前必须解码,因为解码是个很普遍的工作,可以有很多工具做这个工作 . 你没有必要自己写这个解码程序。
uncgi的解码程序, 你可以从http://www.hyperion.com/~koreth/uncgi.html. 得到原码,安装在你自己的cgi-bin目录下。

表单脚本(未测试成功)


#!/bin/bash
echo -e "Content-type: text/html"
echo
echo -e ""
echo -e "Hello"
echo -e ""
echo -e "

" if [ ! -z "$WWW_theName" ]; thenecho -e "Hello, "echo -e $WWW_theName elseecho -e "You don't have a name?" fi echo "

Go Back

" echo ""

相关内容

热门资讯

重磅推荐" 新玉海楼... 您好:新玉海楼茶苑拔萝卜这款游戏是可以开挂的,究竟有没有挂确实能开挂,了解请添加《3045033》(...
实测讲解.天天乐清麻将怎么开挂... 实测讲解.天天乐清麻将怎么开挂.辅助神器下载!您好:天天乐清麻将这款游戏可以开挂,确实是有挂的,需要...
今日分享.手机麻将有没有挂.(... 今日分享.手机麻将有没有挂.(必胜开挂神器)您好:手机麻将这款游戏可以开挂,确实是有挂的,需要了解加...
独家分享.天蝎炸金花怎么开挂.... 独家分享.天蝎炸金花怎么开挂.曝光开挂猫腻!亲,天蝎炸金花这个游戏其实有挂的,确实是有挂的,需要了解...
玩家必备攻略“十三十三水,辅助... 您好:十三十三水,这款游戏可以开挂,确实是有挂的,需要软件加微信【2278274】很多玩家在这款游戏...