shell脚本--CGI获取请求数据(GET / POST)

  Case 1: 获取地址栏传递的参数(即通过GET方式)

  CGI的环境变量中有个QUERY_STRING,可以获取地址栏传递的参数,该参数可以是手动加上的,也可以是通过表单的get方式提交的,比如下面的例子:

#!/bin/bash
#index.cgi

echo "Content-Type:text/html;charset=utf-8"
echo

cat << AAA
    
    
        hello world
    
    
    
data:
AAA echo $QUERY_STRING cat << AAA AAA

  浏览器运行结果如下:

shell脚本--CGI获取请求数据(GET / POST)_第1张图片

  

  Case 2:获取post方式提交的数据

  因为环境变量QUERY_STRING只能获取地址栏和get方式提交的数据,而不能获取post的数据,但是可以通过REQUEST_METHOD(即请求方式)来判断是否为post,如果为post方式,那么就直接接收数据即可,接收数据使用tee,或者cat即可。

#!/bin/bash
#index.cgi

echo "Content-Type:text/html;charset=utf-8"
echo

cat << AAA
    
    
        hello world
    
    
    
编号:
姓名:
AAA if [ $REQUEST_METHOD = "POST" ];then #使用cat或者tee接受post的方法 #query_string=`cat` query_string=`tee` fi echo $query_string cat << AAA AAA

  运行结果如下:

shell脚本--CGI获取请求数据(GET / POST)_第2张图片

 

  可以发现:上面两种方法提交的数据,只要中间有空格,那么就会被替换为+号,接收到的数据和php程序接收到的数据格式不同,需要我们自己运用awk或则sed来对收到的数据进行字符替换、分割,最终得到便于使用的格式

 

转载于:https://www.cnblogs.com/-beyond/p/8566938.html

你可能感兴趣的:(shell脚本--CGI获取请求数据(GET / POST))