boa服务器脚本编程及Curl命令使用

本文介绍了如何在boa服务器上进行脚本编程,包括CGI脚本的编写,使用Shell和C语言示例。同时详细阐述了Curl命令的使用,如下载文件、模拟GET和POST请求以及文件上传,提供了具体的命令行示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

boa服务器脚本编程及Curl命令使用

王雷强     江大科茂      2013-3-29

1.目的

记录boa服务器下,web服务的配置,网站的建设,脚本的编写,Curl命令的使用

2.环境介绍

硬件:飞凌OK6410        arm11

操作系统:linux3.0

服务器:boa

脚本程序:shell,c/c++

开源库:libcgic或libcgicc

3.方法

(1)    boa服务器的安装

http://www.boa.org/ 下载       交叉编译,具体操作这里不介绍

拷贝生成的boa可执行文件到开发板/bin目录下,设置执行权限

在开发板建立目录/etc/boa,拷贝boa.conf到此目录

(2)    web服务器的配置

配置服务器主要是通过修改boa.conf文件

包括服务器端口       ―――-》Port 80

,网站文件所在目录,――――》DocumentRoot /usr/local/boa

cgi脚本位置             ―――》scriptAlias /cgi-bin/ /usr/local/boa/cgi-bin/

最后,设置boa程序开机启动就可以了,具体修改文件/etc/init.d/rcS

在最后一行添加/bin/boa

(3)    脚本编写

Cgi脚本是浏览器与服务器对话的一种方式,可以通过web执行服务器上的程序,实现动态页面的功能。无论用什么语言都可以编写cgi脚本,只需要遵守一定的规范就可以了。这里重点介绍Shell脚本编程。

最简单的一个例子如下:

Test.cgi

#!/bin/sh

echo “Content-type:text/html”

echo “”

echo “”

echo “hello world”

这里注意:第一行是设置解释脚本程序目录

第二行设置文件类型

三四行是cgi脚本规范,两个空行

最后可以任意输出文本到显示终端

所以,就是只要遵守这个规范,我们可以用C写cgi

例如:

Printf(“Content-type:text/html”);

Printf(“\n\n”);

Printf(“helloworld”);

(4)    curl命令的使用

curl是利用URL语法在命令行方式下工作的文件传输工具。它支持很多协议:FTP,FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP。

curl同样支持HTTPS认证,HTTP POST方法, HTTPPUT方法, FTP上传,kerberos认证,HTTP上传, 代理服务器, cookies,用户名/密码认证, 下载文件断点续传,上载文件断点续传,,http代理服务器管道( proxy tunneling),甚至它还支持IPv6, socks5代理服务器,,通过http代理服务器上传文件到FTP服务器等等,功能十分强大。

       curl是瑞典curl组织开发的,您可以访问: http://curl.haxx. se/,我们可以交叉编译,自己定制curl命令,这里不做介绍

       本章内容我们介绍curl命令作为web客户端与boa服务器交互的内容

4.实例

(1)    下载boa服务器上的文件

Curl http://192.168.100.200/index.html--->显示index.html到显示终端

Curl http://192.168.100.200/index.html-o index.html --->下载服务器上的index.html到文件index.html

-c  选项实现断点续传

(2)模拟get方法

服务器端:新建文件form.html到/usr/local/boa目录,内容如下:

<html>

<form name=”form”method=”get” action=”/cgi-bin/junk.cgi”>

<input type=”text”name=”birthyear”>

<input type=”submit”name=”press” value=”ok”>

</form>

</html>

上面文件相当于建了一个form表单

客户端:新建文件junk.cgi到/usr/local/boa/cgi-bin目录,内容如下:

#!/bin/sh

echo “Content-type:text/html”

echo “”

echo “”

echo “<h1>showform content</h1><br/>

echo $QUERY_STRING

echo “<br/>”

echo $SERVER_NAME

echo “<br/>”

echo$SERVER_PROTOCOL

echo “<br/>”

echo $REMOTE_HOST

echo “<br/>”

echo$REQUEST_METHOD

下面演示curl的使用

Curl http://192.168.100.200/cgi-bin/junk.cgi?birthyear=221.6.52.114&press=OK

同样也可以通过web浏览器观看

IE下输入http://192.168.100.200/form.html

输入内容,点击OK

(3)模拟post方法

服务器端web页面:新建文件form.html到/usr/local/boa目录,内容如下:

<html>

<form name=”form”method=”post” action=”/cgi-bin/junk.cgi”>

<input type=”text”name=”birthyear”>

<input type=”submit”name=”press” value=”ok”>

</form>

</html>

上面文件相当于建了一个form表单

服务器端cgi页面:新建文件junk.cgi到/usr/local/boa/cgi-bin目录,内容如下:

#!/bin/sh

echo “Content-type:text/html”

echo “”

echo “”

echo “<h1>showform content</h1><br/>

QUERY_STRING=`cat-`

echo $QUERY_STRING

echo “<br/>”

echo $SERVER_NAME

echo “<br/>”

echo$SERVER_PROTOCOL

echo “<br/>”

echo $REMOTE_HOST

echo “<br/>”

echo$REQUEST_METHOD

下面演示curl的使用

Curl –d “birthyear=221.6.52.114&press=OK”http://192.168.100.200/cgi-bin/junk.cgi

同样也可以通过web浏览器观看

IE下输入http://192.168.100.200/form.html

输入内容,点击OK

(5)    模拟上传文件

服务器端web页面:新建文件upload.html到/usr/local/boa目录,内容如下:

<html>

<form method="POST"enctype='multipart/form-data' action="upload.cgi">
<input type=file name=upload>
<input type=submit name=press value="OK">
</form>

</html>

服务器端cgi页面:新建文件upload.cgi到/usr/local/boa/cgi-bin目录,内容如下:

此cgi需要用libcgic或libcgicc写,这里不列出。

下面演示curl的使用

curl -F upload=@localfilename -F press=OKhttp://192.168.100.200/cgi-bin/upload.cgi

同样也可以通过web浏览器观看

IE下输入http://192.168.100.200/upload.html

选择文件,点击OK

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值