亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2291 | 回復: 2
打印 上一主題 下一主題

請教CGI程序傳遞參數(shù)問題 [復制鏈接]

論壇徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2009-10-23 15:49 |只看該作者 |倒序瀏覽
我在開發(fā)板上移植好boa后,想測試CGI程序.

我的CGI程序:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <string.h>

#define IOCTL_LED_ON    0
#define IOCTL_LED_OFF  1
#define MAX_ARG        150

int main(void)
{
        unsigned int led_no;
        int fd = -1;

        char *buf = getenv("QUERY_STRING");
        if (buf == NULL)
                return -1;
        char para1[MAX_ARG], para2[MAX_ARG];
        char value1[MAX_ARG], value2[MAX_ARG];

        char *p = strchr(buf, '&');
        *p = '\0';
        strcpy(para1, buf);
        strcpy(para2, p + 1);

        p = strchr(para1, '=');
        *p = '\0';
        strcpy(value1, p + 1);

        p = strchr(para2, '=');
        *p = '\0';
        strcpy(value2, p + 1);

        int num, status;

        num = atoi(value1);
        status = atoi(value2);
        fd = open("/dev/mini2440_led", 0);
        if (fd < 0)
        {
                return -1;
        }
        

        if ((num - 1) > 3)
        {
                goto err;
        }


        ioctl(fd, status, num);

        close(fd);

        return 0;

err:
        if (fd > 0)
                close(fd);
        return -1;

}

我網(wǎng)頁中的 form

<html>
<head> <title>LED Control </title> </head>
<body>
<h1>This is my first web program </h1>
<img align="middle" src="success.jpg">
<br>
<br>
<form method="GET" action="/cgi-bin/led">
<h2>Input led number: </h2>
NO.: <input type=text name=no> <br>
<h3>(Notice!! the number is: 1-6) </h3> <br>
Status: <input type=text name=status>

<h3>Notice!!(1: on, 0: off) </h3> <br>
<p align="center"> <input type=submit value="  確定">
</form>
<p align="center">
</body>
</html>


提交數(shù)據(jù)后, 參數(shù)應該是 "no=xx&status=xxx"
我在CGI程序中,用getenv("QUERY_STRING");獲取參數(shù),不知這樣做對不對?

結果網(wǎng)頁提交數(shù)據(jù)后出現(xiàn)以下錯誤:
502 Bad Gateway
The CGI was not CGI/1.1 compliant.

我CGI的makefile
CC = /usr/local/arm/3.4.1/bin/arm-linux-gcc
test_led : test_led.c
        $(CC) test_led.c -o test_led

請問我這樣做對不對,不對該怎么樣改,才能通過網(wǎng)頁傳遞參數(shù)給CGI程序?

論壇徽章:
0
2 [報告]
發(fā)表于 2009-10-23 22:26 |只看該作者
cgi 程序不是應該從命令行來獲得參數(shù)嗎?
難道要用環(huán)境變量中獲得嗎?

論壇徽章:
8
2015年辭舊歲徽章
日期:2015-03-03 16:54:15午馬
日期:2015-02-04 12:00:07羊年新春福章
日期:2015-02-04 11:57:56雙子座
日期:2014-12-02 11:44:59金牛座
日期:2014-10-08 16:47:08獅子座
日期:2014-08-29 13:37:46巳蛇
日期:2014-08-26 17:32:29NBA常規(guī)賽紀念章
日期:2015-05-04 22:32:03
3 [報告]
發(fā)表于 2009-10-24 13:23 |只看該作者

回復 #1 tancotq 的帖子

CGI使用getenv("QUERY_STRING");獲取網(wǎng)頁的參數(shù)是沒有問題的。只是有字數(shù)的限制,最多992個(我記不清楚了)。
樓主先確認在不傳遞參數(shù)的情況下,點擊網(wǎng)頁的按鈕,看是否還報錯。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP