http与cgi的小测试之GET

来源:互联网 发布:2.0音箱推荐 知乎 编辑:程序博客网 时间:2024/06/06 03:59

在网络领域中,HTTP应用是最广的,技术分类也特别细。但我本人没有从事以HTTP为基础的互联网业务,很是遗憾。快哭了

因为项目的要求,在小设备上做一个WEB配置。

使用的是lighttpd+cgi的方式。下面是我的一个小小的测试过程.

1.测试环境。

服务器:ubuntu+lighttpd+bash+lua

客户端:firefox + httpRequester


lighttpd上配置*.cgi的文件由lua来处理。*.sh的文件由bash来处理。

cgi.assign = (        ".cgi" => "/usr/bin/lua",        ".sh" => "/bin/sh",)


我自己写了一个my.cgi和my.sh

两个文件都是把全局变量保存到日志中,输出当前时间。

#my.shexport > my.sh.exportecho "my.sh `date`"

#my.cgiprint("time: " .. os.date());os.execute("export >my.cgi.export");


2测试过程

在firefox上使用httpRequester来请求(GET方式)WEB服务器上的my.cgi,my.sh

查看my.sh.export,my,cgi.export的内容。

my.sh.export的内容xport CONTENT_LENGTH='0'export DOCUMENT_ROOT='/home/abloomy/lua/lighttpd/www//pages/'export GATEWAY_INTERFACE='CGI/1.1'export HTTP_ACCEPT='*/*'export HTTP_ACCEPT_ENCODING='gzip, deflate'export HTTP_ACCEPT_LANGUAGE='zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3'export HTTP_CONNECTION='keep-alive'export HTTP_DNT='1'export HTTP_FOO='foo'export HTTP_HOST='172.16.25.33:8088'export HTTP_USER_AGENT='Mozilla/5.0 (Windows NT 6.1; rv:55.0) Gecko/20100101 Firefox/55.0'export PWD='/home/abloomy/lua/lighttpd/www/pages'export QUERY_STRING=''export REDIRECT_STATUS='200'export REMOTE_ADDR='172.16.25.218'export REMOTE_PORT='59513'export REQUEST_METHOD='GET'export REQUEST_URI='/my.sh'export SCRIPT_FILENAME='/home/abloomy/lua/lighttpd/www//pages/my.sh'export SCRIPT_NAME='/my.sh'export SERVER_ADDR='172.16.25.33'export SERVER_NAME='www.aabbcc.com'export SERVER_PORT='8088'export SERVER_PROTOCOL='HTTP/1.1'export SERVER_SOFTWARE='Apache 1.3.29'export SETENV='setenv'export TRAC_ENV='tracenv'

my.cgi.export

export CONTENT_LENGTH='0'export DOCUMENT_ROOT='/home/abloomy/lua/lighttpd/www//pages/'export GATEWAY_INTERFACE='CGI/1.1'export HTTP_ACCEPT='*/*'export HTTP_ACCEPT_ENCODING='gzip, deflate'export HTTP_ACCEPT_LANGUAGE='zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3'export HTTP_CONNECTION='keep-alive'export HTTP_DNT='1'export HTTP_FOO='foo'export HTTP_HOST='172.16.25.33:8088'export HTTP_USER_AGENT='Mozilla/5.0 (Windows NT 6.1; rv:55.0) Gecko/20100101 Firefox/55.0'export PWD='/home/abloomy/lua/lighttpd/www/pages'export QUERY_STRING=''export REDIRECT_STATUS='200'export REMOTE_ADDR='172.16.25.218'export REMOTE_PORT='59301'export REQUEST_METHOD='GET'export REQUEST_URI='/my.cgi'export SCRIPT_FILENAME='/home/abloomy/lua/lighttpd/www//pages/my.cgi'export SCRIPT_NAME='/my.cgi'export SERVER_ADDR='172.16.25.33'export SERVER_NAME='www.aabbcc.com'export SERVER_PORT='8088'export SERVER_PROTOCOL='HTTP/1.1'export SERVER_SOFTWARE='Apache 1.3.29'export SETENV='setenv'export TRAC_ENV='tracenv'


export QUERY_STRING=''"是我们最关心的。

例如:我们请求的url:http://172.16.25.33:8088/my.sh?name=jett&age=3

export QUERY_STRING='name=jett&age=3'这就是用户进行get时,提交的参数。服务根据这些参数进行不同的处理。





原创粉丝点击