github源码指引:C++嵌入式WEB服务器

初级代码游戏的专栏介绍与文章目录-CSDN博客

我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。

这些代码大部分以Linux为目标但部分代码是纯C++的,可以在任何平台上使用。


相关专题: C++嵌入式HTTP服务器_初级代码游戏的博客-CSDN博客

基础:github源码指引:源码结构、编译、运行_github编译-CSDN博客

目录

一、基本信息

二、执行输出

三、浏览器访问


一、基本信息

源码目录:httpd

编译输出:myhttpd.exe

执行命令即可运行,端口10000,写在代码里面的(myhttpd_t.cpp,第12行)。

二、执行输出

复制代码
[08-22 17:22:02][应用][信息][myhttpd_t.cpp           : 106(main)][  0.00]程序版本:2024.03.07 08:41
[08-22 17:22:02][应用][信息][myhttpd.cpp             :  10(ShowHttpdVersion)][  0.00]

pid=5106 SIGCHLD    子进程Terminate或Stop
[08-22 17:22:02][应用][信息][myUserManager.h         :  44(InitUserManager)][  0.00]管理员 admin/iloveyou
[08-22 17:22:02][应用][信息][myUserManager.h         :  45(InitUserManager)][  0.00]用户 user/user
[08-22 17:22:02][应用][信息][myUserManager.h         :  46(InitUserManager)][  0.00]APP客户 appuser/apppass
[08-22 17:22:02][应用][信息][myhttpclient.h          : 280(Connect)][  0.00]Connect to 127.0.0.1 10001 ......
[08-22 17:22:02][应用][出错][myhttpclient.h          : 302(Connect)][  0.00]Connect to 127.0.0.1 10001 error
[08-22 17:22:02][应用][信息][myhttpd_t.cpp           :  84(start_httpd)][  0.00]start server ...
[08-22 17:22:02][应用][信息][myhttpd.h               :  41(run)][  0.00]站点标识 ct嵌入式WEB服务器
[08-22 17:22:02][应用][信息][myhttpd.h               :  55(run)][  0.00]页面:PN9ns_my_std11CWebCommandE /bin/CWebCommand 安装成功!
[08-22 17:22:02][**HTTPD**][信息][myhttpserver.h          : 731(_InitAllCommands)][  0.00]/admin/Pause 初始化成功
[08-22 17:22:02][**HTTPD**][信息][myhttpserver.h          : 731(_InitAllCommands)][  0.00]/admin/SetDebug 初始化成功
[08-22 17:22:02][**HTTPD**][信息][myhttpserver.h          : 731(_InitAllCommands)][  0.00]/admin/SetMax 初始化成功
[08-22 17:22:02][**HTTPD**][信息][myhttpserver.h          : 731(_InitAllCommands)][  0.00]/admin/ShowDir 初始化成功
[08-22 17:22:02][**HTTPD**][信息][myhttpserver.h          : 731(_InitAllCommands)][  0.00]/bin/CWebCommand 初始化成功
[08-22 17:22:02][**HTTPD**][信息][myhttpserver.h          : 731(_InitAllCommands)][  0.00]DownFile 初始化成功
[08-22 17:22:02][**HTTPD**][信息][myhttpserver.h          : 731(_InitAllCommands)][  0.00]ViewFile 初始化成功
[08-22 17:22:02][**HTTPD**][信息][myhttpserver.h          : 731(_InitAllCommands)][  0.00]shell 初始化成功
[08-22 17:22:02][**HTTPD**][信息][myhttpserver.h          : 731(_InitAllCommands)][  0.00]ssh 初始化成功
[08-22 17:22:02][**HTTPD**][信息][mysocketserver.h        : 688(_Start_Listen)][  0.00]管理服务启动 端口号 10001
[08-22 17:22:02][**HTTPD**][信息][mysocketserver.h        : 692(_Start_Listen)][  0.00]WWW服务启动 端口号 10000
[08-22 17:22:07][应用][信息][myhttpclient.h          : 280(Connect)][  0.00]Connect to 127.0.0.1 10001 ......
[08-22 17:22:07][应用][信息][myhttpd_t.cpp           :  73(start_httpd)][  0.01]端口成功连接,服务已启动 10000

看到这个既启动成功,可以关闭控制台。

三、浏览器访问

在浏览器地址栏输入"http://IP:10000"即可打开网站:

帅吧?

用户名密码在myUserManager.h的InitUserManager函数里:

cpp 复制代码
		bool InitUserManager()
		{
			CUserManager* pUM = CUserManager::getInstPtr();
			pUM->admin_name = "admin";
			pUM->admin_password = "iloveyou";
			pUM->user_name = "user";
			pUM->user_password = "user";
			pUM->appuser_name = "appuser";
			pUM->appuser_password = "apppass";

			thelog << "管理员 " << pUM->admin_name << "/" << pUM->admin_password << endi;
			thelog << "用户 " << pUM->user_name << "/" << pUM->user_password << endi;
			thelog << "APP客户 " << pUM->appuser_name << "/" << pUM->appuser_password << endi;

			return true;
		}

哦,启动时的日志也输出了用户名密码信息(这是违反安全规定的)。

用admin/iloveyou进去看看:

搞得有点乱啊,其实右边的内容是有独立入口的,在地址栏直接输入"default.asp",

看着清爽一点。这部分完全是C++代码实现的,之前那个框架则是html实现的。表格用了一个css文件,也可以去掉,C++代码里面的样式是经过设计的,css是我瞎写的。

具体功能可以结合代码去理解。


(这里是文档结束)

相关推荐
最后一个bug6 分钟前
PCI与PCIe接口的通信架构是主从模式吗?
linux·开发语言·arm开发·stm32·嵌入式硬件
李修缘99944 分钟前
chown和chmod的区别
linux
白嫖一茶1 小时前
shell语言替换脚本、填补整个命令行
linux·shell
无名之逆1 小时前
探索轻量高性能的 Rust HTTP 服务器框架 —— Hyperlane
服务器·开发语言·windows·后端·http·rust
zyx没烦恼1 小时前
Linux 进程信号
linux·运维·服务器·开发语言·c++
佬乔1 小时前
xml中配置AOP织入
java·服务器·前端
Hoxy.R2 小时前
什么是 CSSD?
服务器·开发语言·oracle
Arbori_262152 小时前
linux paste 命令
linux·运维·服务器
GalaxyPokemon2 小时前
Muduo网络库实现 [十三] - HttpRequest模块
linux·服务器·网络·c++
无名之逆2 小时前
Hyperlane:高性能 Rust HTTP 服务器框架评测
服务器·开发语言·windows·后端·http·rust