boa的cgi使用总结

相关配置

配置ScriptAlias 虚拟路径 真实路径
ScriptAlias /cgi-bin/ /etc/boa/www/cgi-bin/

指明CGI脚本的虚拟路径对应的实际路径。一般所有的CGI脚本都要放在实际路径里,用户访问执行时输入站点+虚拟路径+CGI脚本名

测试代码

login.html

<html>
<head>
<title>CGI登陆</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head> 
<body>  
<form name="login" action="./cgi-bin/login.cgi">姓名:<input type="text" name="name" />
<br/>密码:<input type="password" name="pwd" /> 
<br/>确定:<input type="submit" value="登陆" />
</form>
</body>
</html>

login.c

#include<stdio.h> 
#include<stdlib.h>   
int main() 
{   
    char *date;   
    char name[50],pwd[20];   
    printf("content-type:text/html;charset=utf-8\n\n");  
    printf("<TITLE>登陆结果</TITLE>");
    printf("<H3>登陆结果</h3>");    
    date=getenv("QUERY_STRING");  
    if(date==NULL)    
        printf("<p>错误:数据没有被输入或数据传输发生错误</p>");  
    else
    {    
        sscanf(date,"name=%[^&]&pwd=%s",name,pwd);  
        printf("<p>name=%s</p>",name);   
        printf("<p>pwd=%s</p>",pwd);   
        printf("%s",date);  
    }   
    return 0; 
}

1.将login.html放在

在这里插入图片描述

2.编译login.c,并放到

gcc login.c -o login.cgi
在这里插入图片描述

测试结果

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

直接请求cgi

使用CGI的基本思路,cgi里有main函数,向网页输出的内容通过printf输出,这一点非常像java servlet。
在main函数里可以获取请求的参数
测试: test.c

/*
 * @Descripttion: 测试url http://192.168.2.136/cgi-bin/test.cgi
 * @version: 1.0.0
 * @Author: zhangyasheng
 * @Date: 2020-10-20 14:44:57
 * @LastEditors: zhangyasheng
 * @LastEditTime: 2020-10-20 14:58:32
 */
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main() {
    printf("content-type:text/html;charset=utf-8\n\n");  
    printf("<TITLE>test.cgi</TITLE>");
    printf("<H3>test.cgi</h3>");  
    return 0;
}

gcc test.c -o test.cgi
sudo cp test.cgi /etc/boa/www/cgi-bin

在这里插入图片描述
通过这个url可以直接请求到cgi

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在嵌入式Linux上使用boacgi来浏览文件目录,您需要按照以下步骤进行操作: 1. 安装boacgi: 在Linux中,您可以使用以下命令来安装boacgi: ``` sudo apt-get install boa sudo apt-get install libcgi-pm-perl ``` 2. 配置boa服务器: 在嵌入式Linux上,您需要编辑boa服务器的配置文件,以便它可以正确地运行cgi脚本。默认情况下,boa服务器配置文件位于/etc/boa/boa.conf。您需要确保以下配置项已启用: ``` server.modules = ("mod_cgi") ``` 并且以下行被注释掉: ``` #cgi.assign = ( ".cgi" => "/usr/bin/perl" ) ``` 3. 创建cgi脚本: 您可以使用Perl或其他脚本语言来编写cgi脚本,以便在boa服务器上运行。以下是一个示例Perl脚本,它将显示当前目录中的所有文件和子目录: ``` #!/usr/bin/perl use CGI qw(:standard); print header, start_html('File Browser'), h1('File Browser'), "<ul>\n"; opendir(DIR, "."); while ($file = readdir(DIR)) { next if ($file =~ m/^\./); if (-d $file) { print "<li><a href=\"$file/\">$file/</a></li>\n"; } else { print "<li><a href=\"$file\">$file</a></li>\n"; } } closedir(DIR); print "</ul>\n", end_html; ``` 4. 将cgi脚本复制到boa服务器的cgi-bin目录中: 默认情况下,boa服务器的cgi-bin目录位于/var/www/cgi-bin。将您的cgi脚本复制到此目录中。 5. 启动boa服务器: 您可以使用以下命令启动boa服务器: ``` sudo /etc/init.d/boa start ``` 现在,您可以在浏览器中输入嵌入式Linux的IP地址和端口号(默认为8888),然后浏览您的文件目录。例如,如果您的嵌入式Linux的IP地址为192.168.1.100,则可以在浏览器中输入http://192.168.1.100:8888/cgi-bin/your-script.cgi来运行您的cgi脚本。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值