日期:2014-05-16  浏览次数:20662 次

关于linux CGI解析网页提交字符串信息问题
网页以get方法提交到cgi文本文件中
通过$QUERY_STRING获取?以后的数据信息
可是如何分割呢?望大虾们指点一下,我才学...
能够源码信息
#!/bin/sh
echo $QUERY_STRING
#QUERY_STRING:"name=zhang&password=123456&sex=1"
ip=echo $QUERY_STRING|cut -f 2 -d "&"
/bin/echo $ip > /tmp/led-test
但是我在文本led-test.看不到显示的信息
同样的代码,我自己新建一个t.sh
运行则可以看到信息password=123456
这是为什么啊?


------解决方案--------------------
方法基本就如你所说,自己用shell分割
ID=`echo "$QUERY_STRING" | awk -F"&id=" '{print $2}' | awk -F"&" '{print $1}'`

如果是用webservice访问,发现不行的话,首先检查error_log
一般是权限问题,比如你的webservice用户是apapche,而你的cgi脚本是root,就会出问题了..

------解决方案--------------------
Perl code

ip=echo $QUERY_STRING|cut -f 2 -d "&"
这一句应该是
ip=$(echo $QUERY_STRING|cut -f 2 -d "&")
或者
ip=`echo $QUERY_STRING|cut -f 2 -d "&"`
吧