资源简介
测试方式(依次在浏览器输入一下内容进行不同情形的测试):
127.0.0.1:9988
127.0.0.1:9988/hehe.html
127.0.0.1:9988/login.html
127.0.0.1:9988/haha?x=10&y=20
也可以下载fiddler工具进行更全面的模拟测试!
1、支持GET/POST方法
2、支持CGI
3、支持错误返回
4、支持chunked数据的解析
缺点:
1、支持的方法不够全面
2、CGI实现不够科学,可以尝试使用FASTCGI
3、不支持https
4、不支持回应chunked数据
感兴趣的同学可以继续完善相关功能.
代码片段和文件信息
#include
#include
using namespace std;
#define MAXLINE 1024
int main()
{
char *buf *p;
char name[MAXLINE] passwd[MAXLINE] content[MAXLINE];
/* Extract the two arguments */
if ((buf = getenv(“QUERY_STRING“)) != NULL) {
p = strchr(buf ‘&‘);
if (p){
*p = ‘\0‘;
strcpy(passwd p + 1);
}
else{
strcpy(passwd “null“);
}
strcpy(name buf);
}
else{
printf(“---------error arg!----------“);
fflush(stdout);
exit(1);
return 0;
}
/* Make the response body */
_snprintf_s(content MAXLINE _TRUNCATE “welcome to my web:%s and %s\r\n“ name passwd);
_snprintf_s(content MAXLINE _TRUNCATE “%sthis is a dynamic web!\r\n“ content);
_snprintf_s(content MAXLINE _TRUNCATE “%sthanks for visiting!\r\n“ content);
printf(“%s“ content);
fflush(stdout);
exit(0);
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2943 2017-10-12 15:24 webcgi\Debug\webcgi.log
文件 650 2017-10-12 15:24 webcgi\Debug\webcgi.tlog\cl.command.1.tlog
文件 12194 2017-10-12 15:24 webcgi\Debug\webcgi.tlog\CL.read.1.tlog
文件 460 2017-10-12 15:24 webcgi\Debug\webcgi.tlog\cl.write.1.tlog
文件 1010 2017-10-12 15:24 webcgi\Debug\webcgi.tlog\li
文件 3298 2017-10-12 15:24 webcgi\Debug\webcgi.tlog\li
文件 380 2017-10-12 15:24 webcgi\Debug\webcgi.tlog\li
文件 168 2017-10-12 15:24 webcgi\Debug\webcgi.tlog\webcgi.lastbuildstate
文件 880 2017-10-12 15:24 webcgi\main.cpp
文件 4139 2017-10-11 17:47 webcgi\webcgi.vcxproj
文件 956 2017-10-11 17:14 webcgi\webcgi.vcxproj.filters
文件 165 2017-10-11 17:14 webcgi\webcgi.vcxproj.user
文件 1014 2017-10-11 16:33 webserver\Debug\webserver.Build.CppClean.log
文件 53 2017-10-07 12:36 webserver\Debug\webserver.lastbuildstate
文件 706 2017-10-12 15:24 webserver\Debug\webserver.log
文件 1290 2017-10-12 15:08 webserver\Debug\webserver.tlog\cl.command.1.tlog
文件 61558 2017-10-12 15:08 webserver\Debug\webserver.tlog\CL.read.1.tlog
文件 1726 2017-10-12 15:08 webserver\Debug\webserver.tlog\CL.write.1.tlog
文件 1158 2017-10-12 15:08 webserver\Debug\webserver.tlog\li
文件 3718 2017-10-12 15:08 webserver\Debug\webserver.tlog\li
文件 498 2017-10-12 15:08 webserver\Debug\webserver.tlog\li
文件 168 2017-10-12 15:24 webserver\Debug\webserver.tlog\webserver.lastbuildstate
文件 28383 2017-10-12 15:08 webserver\HttpServer.cpp
文件 4875 2017-10-12 11:15 webserver\HttpServer.h
文件 5508 2017-10-12 10:00 webserver\main.cpp
文件 4318 2017-10-11 16:33 webserver\webserver.vcxproj
文件 1245 2017-10-11 16:33 webserver\webserver.vcxproj.filters
文件 489 2017-10-09 11:15 webserver\webserver.vcxproj.user
文件 9118 2017-10-04 13:42 webserver\复件 HttpServer.cpp
文件 1317 2017-10-02 19:13 webserver\复件 HttpServer.h
............此处省略69个文件信息
相关资源
- linuxc语言信号量爸爸女儿儿子橘子苹
- 基于C/C++基础的物品竞拍系统
- MFC综合实战项目
- 一个FTP客户端的设计与实现C实现
- 图像点运算VC++程序
- VB、C++机房管理程序
- Tamura texture C++
- 用C语言编写二叉排序树
- OpenGL 真实感图形编程C++实现
- 仓库管理系统分别通过数据库实现和
- C++ TEST 6.0 破解
- 生产者消费者算法图形化演示系统
- 酒店管理系统c语言实现133784
- 密码学快速取模指数算法C代码
- 中值滤波C语言
- c语言画图及小动画制作
- 《数据结构——C++实现》第二版课本
- 哈夫曼树 C++算法
- 捷联惯导c语言仿真
- 两颗会跳动的心
- 小型书店进销存管理系统(c语言)
- C语言练习题+综合模拟卷3套(附答案
- tcp socket实现单进程单线程 高并发服务
- 八数码的深度优先算法c++实现
- C++实现灰度图像的边缘检测、提取及
- 复合形法C语言程序
- 摄影测量直接线性变换DLTVC++程序代码
- 用VC++6.0开发监控界面的方法
- 用Visual C++仿真实现卡尔曼滤波
- 基于遗传算法的人工生命模拟 AL_GA.
评论
共有 条评论