在c语言写的cgi程序中如何获取URL传递的参数
例如在
1.html中通下面的js完成页面调转:
<script>
window.location.href = "abc.cgi?name1="+name1+"&name2="+name2+"+"&pass1="+pass1+";
</script>
在abc.cgi程序中如何获取页面传递的name1\name2\pass1的值显示在abc.cgi页面
第二种通过<form action="abc.cgi" method="POST">调转到abc.cgi
这种情况如何获取name1\name2\pass1的值并显示在abc.cgi页面
------解决方案--------------------
嗯,首先你能确定你要的参数名。 并且知道query-string是这种形式:
para1=val1¶2=val2
那么你可以首先将他们拆开:
比如要获取$_GET['action'];
char * query_string = "para1=val1¶2=val2¶3=val3";
int main(){
char * str = (char *)malloc(strlen(query_string)+1);
char * index;
memcpy(str, query_string, strlen(query_string)+1);
int i=0;
char * get[100];
while(NULL != (index = strchr(str, '&' ))){
//printf("%s\n", index);
get[i] = (char *)malloc(index-str + 1);
strncpy(get[i++], str, index - str);
strncpy(str, index + 1, strlen(str)-(index-str) + 1);
}
get[i] = (char*)malloc(strlen(str)+1);
strncpy(get[i++], str, strlen(str)+1);
for(int m=0; m<i; m++){
printf("%s\n", get[m]);
free(get[m]);
}
}
~
这样,就会得到形如:
para1=val1
para2=val2
para3=val3
这样的参数。
然后你strchr 等号。。。。。
CGI
概述
CGI
(Common Gateway Interface: 公用网关接口)规定了Web服务器调用其他可执行
程序
(
CGI
程 序)的接口协议标准。Web服务器通过调用
CGI
程序
实现和Web浏览器的交互, 也就是
CGI
程序
通过读标准输入,接受Web浏览器发送给Web服务器的信息, 进行处理, 将响应结果再通过标准输出回送给Web服务器, 然后经过http协议返回给Web浏览器。
CGI
程序
一般完...
网页html通过post或get方法将页面
中
的数据以键值对
字符串
的形式传入环境变量
中
,需要有一个剥离函数将各键对应的值
提取
出来。getvalue.h#include <stdlib.h>
#include <stdio.h>
#include <
string
.h>
#define FIELD_LEN 60 //how long each name or val...
具体的
url
是
cgi
_obj?param1=1&path=192.168.2.1
要
获取
path的值,可以用下面的语句来将192.168.2.1存入file_path变量。
CHAR file_path[MAX_PATH];
cgi
Form
String
("path", file_path, sizeof(file_path));
文章目录
CGI
的出现
CGI
CGI
通信模型准备阶段执行阶段输出阶段环境变量
URL
编码
CGI
输出配置Apache使用
CGI
CGI
程序
CGI
的问题
CGI
的出现
CGI
算是一门古老的技术,它是在上个世纪90年代出现的,在当时Web只有静态网站的情况下提出了动态网站的需求,
CGI
技术就是为了满足这种需求而出现的。
当时Web站点只有静态文件,静态网页是没有变化的,而如果需要服务器能够能够拓展更多的功能,例如
表单
处理,访问数据库并处理返回的数据,制作动态网站等等,那么就需要一种
程序
语言编
写
相应的功能,但这种
程序
如何与
function getQuery
String
Args() {
var qs = (location.search.length > 0 ? location.search.sub
string
(1) : ""),
args = {},
items = qs.length ? qs.split("&") : [],
item = null,
CGI
是指web服务器调用编程语言编
写
的
程序
的一个接口。比如我们可以编
写
一个用户注册的页面,用户将其输入的邮箱、用户名、密码输入并点击注册,此时浏览器就将用户输入的内容发送给了我们后台的
CGI
程序
,我们的
CGI
程序
接受到这些信息,可以对其进行处理。比如送
1.
CGI
定义:
CGI
(CommonGateway Interface)是HTTP服务器与你的或其它机器上的
程序
进行“交谈”的一种工具,其
程序
须运行在网络服务器上。
CGI
程序
在服务器端执行,并可以和Web服务器在同一主机上。常用的
CGI
语言有Perl、shell、Python,在windows上也可以用C、C++或Java等进行编
写
。2.
CGI
功能:
绝大多数的
CGI
程序
被用来解释处理来自
一、
CGI
(通用网关接口)是外部扩展应用
程序
与 Web 服务器交互的一个标准接口。... 1
二、
Cgi
编程(根据
CGI
标准,编
写
Web服务器运行时的外部扩展应用
程序
)可以对客户端浏览器输入的数据经web服务器和业务逻辑
程序
进程进行交互操作。... 2
三、web服务器配置... 3
四、环境变量列表... 3
五、注意的问题... 3
CGI
(通用网关接口)是外部扩展应用
程序
与 Web 服务器交互的一个标准接口。
公共网关接口(Common Gateway Interf...
再看WX公众号开发文档,看到部分接口的请求方式为GET,让我想到PHP
中
有一个函数file_get_contents用来
获取
文档内容为一个
字符串
,那这个函数貌似可以替代自己
写
的c
url
函数,这就
写
个小案例实现一下判断用户是否关注公众号。查询关注需要用到这个接口
获取
token用到这个接口//
获取
access_token$token = file_get_contents('https://api.w...
在html里调试
CGI
程序
的一个方法-针对
C语言
通常一个
CGI
不起作用,很有可能是
CGI
程序
非法越界等错误。而用浏览器打开调用
CGI
的HTML网页,并不会给你有用错误提示(IE倒有一些)。所以在
CGI
正式使用前,最好把其当一应用
程序
调试,通过也在HTML里使用。而
CGI
要
获取
HTML的GET或POST数据,我们可以用一字符数组代替。正常
CGI
程序
,代码如下code1:char*input;char...
Perl的
CGI
模块可以用于生成HTTP头部和HTML页面。本页内容采集自Perl的
CGI
文档。
CGI
的同时支持命名
参数
和非命名
参数
,所有命名
参数
均为散列,并且必须为第一
参数
,非命名
参数
只对一些内建的常用操作符所识别,统一使用命名
参数
规则可以便于维护。像这样:
header({-charset=>"utf-8"})
CGI
的第二
参数
用于创建内容,内容分为两种,一种是串联,一种...