C语言写CGI

C语言:popen函数的使用 C语言:popen函数的使用 一、利用system函数调用shell命令,只能获取到shell命令的返回值,而不能获取shell命令的输出结果,那如果想获取输出结果怎么办呢?用popen函数可以实现。 二、定义函数:FILE * popen(const char * command, const char... 阅读详情
// C语言开发网站1.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <stdlib.h>
#include <windows.h>

//需要引入要用到的头文件
#include <sql.h>
#include <sqlext.h>
#include <sqltypes.h>
//最大缓冲区长度
#define MAXBUFFLEN 255
//登录超时
#define LOGIN_TIMEOUT 30
//检查数据库连接错误
#define CHECKDBSTMTERROR(result,hstmt) if(SQL_ERROR==result){ShowDBStmtError(hstmt);return;}
//数据库连接字符串
SQLCHAR ConnStrIn[MAXBUFFLEN]="DRIVER={MySQL ODBC 5.2w Driver};SERVER=172.16.78.220;UID=root;PWD=root;DATABASE=db1;charset=gbk";
SQLCHAR ConnStrOut[MAXBUFFLEN];//暂且不知道


//操作数据库所要用到的类型
SQLHENV henv=NULL;//环境句柄
SQLHDBC hdbc=NULL;//数据库连接句柄
SQLHSTMT stmt=NULL;//SQL语句
SQLRETURN result=NULL;//执行结果

bool Create_connection();




int main(int argc, char* argv[])
{
			printf("Contenttype:text/html\n\n");
			printf("<html>\n");
			printf("<body>\n");
			printf("<a href='http://www.baidu.com'>超链接</a>\n");
			printf("<h1>H1标签</h1>\n");
			printf("%s",getenv("SERVER_SOFTWARE"));
			printf("<div style='width:100px;height:100px;background-color:red;'>这是一个div</div>\n");
			printf("<form method='get' action='http://127.0.0.1/cgi-bin/mycgi.exe'>");

			printf("<input type='text' name='txt_name'/>");
			printf("<input type='submit' value='提交到服务器' />");
			printf("</form>");
			bool res=Create_connection();
			if(res==false)
			{
				printf("数据库连接失败");
				return 0;
			}
			
			SQLRETURN ress=NULL;
			//初始化语句句柄
			result = SQLAllocHandle(SQL_HANDLE_STMT,hdbc, &stmt);
			result = SQLPrepare(stmt,(SQLCHAR*)"select CH from t_test",SQL_NTS);
			result =SQLExecute(stmt);
			SQLINTEGER cbsatid=SQL_NTS;
			while (SQLFetch(stmt)!=SQL_NO_DATA_FOUND)
			{
				TCHAR name[30];
				//ZeroMemory(name,sizeof(name));
				SQLGetData(stmt,1,SQL_C_CHAR,name,20,&cbsatid);
				printf("读取MYSQL值为:%s\n",name);
			}



			//释放语句
			SQLFreeStmt(stmt,SQL_CLOSE);
			//关闭连接
			SQLDisconnect(hdbc);
			//释放连接句柄
			SQLFreeHandle(SQL_HANDLE_DBC,hdbc);
			SQLFreeHandle(SQL_HANDLE_ENV,henv);

			char *str=getenv("QUERY_STRING");
			printf("\nURL参数:%s",str);

			printf("</body>\n");
			printf("</html>\n");

	return 0;
}



//创建数据库连接
bool Create_connection()
{
	//分配环境句柄
	result= SQLAllocHandle(SQL_HANDLE_ENV,SQL_NULL_HANDLE,&henv);
	//设置环境管理属性
	result=SQLSetEnvAttr(henv,SQL_ATTR_ODBC_VERSION,(void *)SQL_OV_ODBC3,0);
	//分配连接句柄
	result=SQLAllocHandle(SQL_HANDLE_DBC,henv,&hdbc);
	//设置连接属性
	result=SQLSetConnectAttr(hdbc, SQL_LOGIN_TIMEOUT, (void*)LOGIN_TIMEOUT, 0);
	//连接数据库
	result=SQLDriverConnect(hdbc,NULL,ConnStrIn,SQL_NTS,ConnStrOut,MAXBUFFLEN,(SQLSMALLINT *)0,SQL_DRIVER_NOPROMPT);
	return true;
}


将生成的exe程序放入apache的cgi-bin目录下,输入http://localhost/cgi-bin/cgi.exe

C语言写CGI程序 一、CGI概述 CGI(公用网关接口)规定了Web服务器调用其他可执行程序(CGI程序)的接口协议标准。Web服务器通过调用CGI程序实现和Web浏览器的交互, 也就是CGI程序接受Web浏览器发送给Web服务器的信息,进行处理, 将响应结果再回送给Web服务器及Web浏览器。CGI程序一般完成Web网页中表单(Form)数据的处理、数据库查询和实现与传统应用系统的集成等工 作。CGI程序可以 阅读详情

相关推荐

用C语言写CGI辅助程序

Web服务器在调用使用POST方法的CGI程序时设置此环境变量,它的文本值表示Web服务器传送给CGI程序的输入中的字符数目,因此我们使用函数atoi() 将此环境变量的值转换成整数,并赋给变量n。CGI程序像其他可执行程序一样,可通过标准输入(stdin)从Web服务器得到输入信息,如Form中的数据,这就是所谓的向CGI程序传递数据的POST方法。当用户提交一个HTML Form时,Web浏览器首先对Form中的数据以名字/值对的形式进行编码,并发送给Web服务器,然后由Web服务器传递给CGI程序。

qq_41237850的博客 902

用C++编写我的第一个CGI程序

文章目录前言一、CGI的作用二、使用步骤1.安装Apache2.编写我的第一个CGI程序3.访问我的第一个CGI程序4.补充4.1 URL的含义4.2 我的第一个CGI程序为什么这么写4.2.14.2.2 前言 本文记录了我在准备数据库应用程序大赛过程中,学习用C++编写CGI后端程序的历程。 一、CGI的作用 CGI(Common Gateway Interface),直译为“通用网关接口”,是一个接口协议( 协议就是大家公认的一套标准)规定了web服务器如何与CGI应用程序通信。 通过CGI接口,W

Dr_evil的博客 3034

嵌入式Linux下用C语言写后端接口——CGI实现

文章目录简介实验环境下载CGIC库源码配置CGIC编译测试CGI接口编写一个简单的获取表单的CGI接口测试login.cgiCGIC接口API 简介 CGI(Common Gateway Interface)公共网关接口,是外部扩展应用程序与 Web 服务器交互的一个标准接口。服务器端与客户端进行交互的常见方式多,CGI 技术就是其中之一。根据CGI标准,编写外部扩展应用程序,可以对客户端浏览器输...

yaomianfa的博客 3975

popen()函数详解 具体问题具体分析 popen函数获取不到标准I/O流

先简单的解释一下popen函数吧~popen() 函数通过创建一个管道,调用 fork 产生一个子进程,执行一个 shell 以运行命令来开启一个进程。这个进程必须由 pclose() 函数关闭,而不是 fclose() 函数。pclose() 函数关闭标准 I/O 流,等待命令执行结束,然后返回 shell 的终止状态。如果 shell 不能被执行,则 pclose() 返回的终止状态与 shell 已执行 exit 一样。type 参数只能是读或者写中的......

ZHENYU的博客 8092

VC++实现的简单的CGI程序

大部分服务端程序采用例如PHP这样的脚本语言与服务器交互,由于工作需要,要求使用C程序与Apache服务器交互并与客户端浏览器交换信息,所以研究了一下C语言的CGI编程,这只是个简单的小例子,采用VS2008环境编写的控制台程序,希望对大家有帮助。

手把手教你用Node.js模拟大麦APP下单请求(含滑块验证处理)

本文详细解析了如何使用Node.js模拟大麦APP下单请求的全流程,包括接口逆向、滑块验证处理和签名算法逆向等关键技术。通过实战案例和代码示例,帮助开发者掌握移动端API调用的核心要素,如动态参数构造、安全验证突破等,提升自动化下单的成功率和效率。

weixin_42569329的博客 353

C++编写第一个CGI程序

环境: wamp3.1.0 64bit VS2015 cmake 3.12.0 一、CGI简介 1、在进行交互式的WWW访问时,服务器上需要有相应的程序对输入的信息进行处理,这些程序就是CGI程序。 2、cgi-bin目录:用于存放CGI程序的特殊目录,CGI程序不能放在任意的目录下,只能放在CGI-BIN目录。 3、CGI程序可以用很多种语言编写,C、python、C++等等都可...

foreverzwl 4591

懒人精灵手游内存技术分析

教学声明:全套教程教学用到的游戏采用手游私服网游进行测试,不针对任何游戏。教学只做计算机技术研究,不做其他用途。

yizhihaoren123的博客 1656

cgi编程c语言,C语言写cgi,个人的cgi库

cgi程序可以用C、C++、perl等多种语言编写。本文以一个最简单的表单提交和cgi处理为例,示范了如何使用C语言编写处理表单的cgi程序,这里的有本人写的一个很小的cgi库——一些相关的函数。更多关于cgi的背景知识,网上有很多介绍。表单页面代码如下:cgi昵称: 密码:提交自制的cgi库cgiLib的头文件:#ifndef _CGILIB_H_#define _CGILIB_H_#inclu...

weixin_39805851的博客 543

利用WI生成无线信道数据

选取DeepMIMO的一个射线追踪场景O1(Outdoor 1)Scenario,工作频率为3.5GHz。有两条街和一个十字路口的户外场景18个基站和超过一百万个用户18个基站(BSs):BS1-BS18.每个基站的高度是8米每个基站的天线阵列是isotropic天线三个统一的x-y用户网格用户的总计数量为:1184923每个用户网格中的第一个用户总是(x,y)坐标最低的用户 所有用户的高度是2m每个用户的每个天线阵列是isotropic天线定义射频追踪场景。

bingbingaidaima的博客 5607

Python入门实战:Python生物信息学编程基础

本文旨在为生物学背景的研究人员和对生物信息学感兴趣的程序员提供一个全面的Python生物信息学编程入门指南。我们将从Python基础知识开始,逐步深入到生物信息学特定的工具和技术,最终达到能够独立开发生物信息学分析程序的水平。Python编程基础生物信息学常用数据结构和算法DNA和蛋白质序列分析基因组数据处理生物信息学数据可视化Biopython库的使用实际项目案例背景介绍:概述文章目的、范围和预期读者核心概念与联系:介绍Python和生物信息学的基本概念。

AI架构师小马 1510

用C语言写CGI

嵌入式的web程序,需要用cgi来处理后台,另考虑到可移植性,C为首选语言(虽然Perl语言是编写cgi程序的主流选择)因为手头暂时还没嵌入式设备,为了开发的方便,一般都是在windows平台下做开发,然后移植到嵌入式平台上,这里就把我在windows下搭建运行成功第一个cgi的例子记录如下: 【开发环境及使用工具】 操作系统: windows 7 C语言开发工具: Dev-C++ web

经验之外 4134

混响效果的编程实现:Schroeder混响模型与Moorer型混响

Schroeder混响模型是由Manfred R. Schroeder在1962年提出的,它基于一系列串联的反射器(Allpass Comb Filters)和并联的反射器(Feedback Comb Filters)构成。Schroeder混响模型是由Manfred R. Schroeder在1962年提出的,它基于一系列串联的反射器(Allpass Comb Filters)和并联的反射器(Feedback Comb Filters)构成。通过调整各个反射器和全通滤波器的参数,可以实现不同的混响效果。

2301_79326857的博客 1082

c语言编写cgi,C语言写CGI

// C语言开发网站1.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include #include //需要引入要用到的头文件#include #include #include //最大缓冲区长度#define MAXBUFFLEN 255//登录超时#define LOGIN_...

weixin_32101377的博客 330

ADT MCP Server 把 ABAP 开发带进 Agent 模式

今天讨论 ADT MCP Server,不能只把它看成 Visual Studio Code 里多出来的一个开关。它真正有意思的地方,在于它把 ABAP 后端开发里那些原本需要手工点击、手工创建、手工激活、手工查服务元数据的动作,包装成一组可以被 GitHub Copilot 这类 coding agent 调用的工具。SAP 在 RAP130 练习里把它描述为运行在 ADT for Visual Studio Code 扩展内部的本地 HTTP Server,它实现的是 Model Context Pro

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 184

双重机器学习模型中解释变量是连续变量的代码,看到好多都是0/1变量,如何解决?

🏆本文收录于 《全栈Bug调优(实战版)》 专栏,该专栏专注于分享我在真实项目开发中遇到的各类疑难Bug及其深层成因,并系统提供高效、可复现的解决思路和实操方案。无论你是刚入行的新手开发者,还是拥有多年项目经验的资深工程师,本专栏都将为你提供一条系统化、高质量的问题排查与优化路径,助力你加速成长,攻克技术壁垒,迈向技术价值最大化与职业发展的更高峰🚀!    📌 特别说明: 文中部分技术问题来源于真实生产环境及网络公开案例,均经过精挑细选与系统化整理,并结合多位一线资深架构师和工程师多年实战经验沉淀,提

**My Coding Family** 851

在c语言写的cgi程序中如何获取URL传递的参数

在c语言写的cgi程序中如何获取URL传递的参数 例如在 1.html中通下面的js完成页面调转: window.location.href = "abc.cgi?name1="+name1+"&name2="+name2+"+"&pass1="+pass1+"; 在abc.cgi程序中如何获取页面传递的name1\name2\pass1的值显示在abc.cgi页面 第二种通

Primeprime的专栏 5288

以太网MII、RMII、GMII、RGMII(三)

RMII接口收发的数据位宽为2bit,因此管脚数目大为减少,在高密端口PHY中应用较多,但是由于其是MAC和PHY共用一个参考时钟,接口之间的距离不能太远;一般的GMII接口都有两个发送参考时钟:TX_CLK和GTX_CLK,两者的方向是不一样的,前者有PHY提供(同MII),后者由MAC或外部参考时钟源提供,绝大多数GMII接口都是兼容MII接口的,在用作MII模式时,使用TX_CLK和8根数据线中的4根。MII接口中的接收时钟和发送时钟是分开的,而且都是由PHY芯片提供给MAC芯片的。

qq_42357877的博客 2332

C语言写CGI程序【转】

一、CGI概述 CGI(公用网关接口)规定了Web服务器调用其他可执行程序(CGI程序)的接口协议标准。Web服务器通过调用CGI程序实现和Web浏览器的交互, 也就是CGI程序接受Web浏览器发送给Web服务器的信息,进行处理, 将响应结果再回送给Web服务器及Web浏览器。CGI程序一般完成Web网页中表单(Form)数据的处理、数据库查询和实现与传统应用系统的集成等工 作。CGI程序可以用任

许落 1万+

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

lighttpd + CGI,用c语言写cgi程序

相信大家都想过用浏览器来运行c语言程序,比如点电路板上的灯、其他控制功能等。这里我就说一说心得。要使用浏览器就必须有服务器,我这里用了lighttpd。因为我看其他的都停止开发了,没法用。配置和测试可以参考这篇文章:http://blog.chinaunix.net/u1/39383/showart_1855731.html 我说的注意点是:1、cgi.assign可以写成

LYJ个人博客,记录技术、八卦、生活,分享各种心得,期待与朋友们一同进步 1万+

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

cgi java编程_C语言写CGI程序

一、CGI概述CGI(公用网关接口)规定了Web服务器调用其他可执行程序(CGI程序)的接口协议标准。Web服务器通过调用CGI程序实现和Web浏览器的交互, 也就是CGI程序接受Web浏览器发送给Web服务器的信息,进行处理, 将响应结果再回送给Web服务器及Web浏览器。CGI程序一般完成Web网页中表单(Form)数据的处理、数据库查询和实现与传统应用系统的集成等工 作。CGI程序可以用任何...

weixin_39820177的博客 242

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

C语言写cgi,个人的cgi库

cgi程序可以用C、C++、perl等多种语言编写。本文以一个最简单的表单提交和cgi处理为例,示范了如何使用C语言编写处理表单的cgi程序,这里的有本人写的一个很小的cgi库——一些相关的函数。更多关于cgi的背景知识,网上有很多介绍。 表单页面代码如下: &lt;html&gt; &lt;head&gt; &lt;title&gt;cgi&lt;/title&gt; &lt;...

xiaoheliushuiya 601

Apache中使用C语言写的CGI

    今天找了不少资料,终于解决了Windows下Apache调用C语言写的CGI的问题,现整理如下 首先在Apache的配置文件httpd.conf中找到“AddHandler cgi-script .cgi”去掉前面的#号再改为: “AddHandler cgi-script .cgi .exe”之后重启Apache。 下面给个例子 C程序如下: #include &lt;s...

靓靓软件工作室 486
上一篇: C#调用摄像头
下一篇: C#操作Excel文件之OleDb
IT回忆录
博客等级 码龄16年 42粉丝 100原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值