Linux环境下使用C/C++编写CGI之安装cgicc模块

****直接进入主题****


Step-Two:编译安装

$ tar xzf cgicc-X.X.X.tar.gz(用最新版本)
$ cd cgicc-X.X.X
$ ./configure --prefix=/usr
$ make
$ sudo make install

至此已经安装完成~~~


Sameple

  • file form.html
<meta charset='utf-8'>
<form action="./cpp_get.cgi" method="get">
名:
<input type="text" name="first_name">  <br />
姓:
<input type="text" name="last_name" />
<br><br>
<input type="submit" value="提交" />
</form>
  • cpp_get.cpp
#include <iostream>
#include <vector>  
#include <string>  
#include <stdio.h>  
#include <stdlib.h> 
#include <cgicc/CgiDefs.h> 
#include <cgicc/Cgicc.h> 
#include <cgicc/HTTPHTMLHeader.h> 
#include <cgicc/HTMLClasses.h>  
using namespace std;
using namespace cgicc;
int main (){
   Cgicc formData;
   cout << "Content-type:text/html\r\n\r\n";
   cout << "<html>\n";
   cout << "<head>\n";
   cout << "<meta charset='utf-8'>\n";
   cout << "<title>使用 GET 和 POST 方法</title>\n";
   cout << "</head>\n";
   cout << "<body>\n";

   form_iterator fi = formData.getElement("first_name");  
   if( !fi->isEmpty() && fi != (*formData).end()) {  
      cout << "名:" << **fi << endl;  
   }else{
      cout << "No text entered for first name" << endl;  
   }
   cout << "<br/>\n";
   fi = formData.getElement("last_name");  
   if( !fi->isEmpty() &&fi != (*formData).end()) {  
      cout << "姓:" << **fi << endl;  
   }else{
      cout << "No text entered for last name" << endl;  
   }
   cout << "<br/>\n";
   cout << "</body>\n";
   cout << "</html>\n";
   return 0;
}

  • 编译
$ g++ -o cpp_get.cgi cpp_get.cpp -lcgicc

Paste_Image.png

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏人工智能LeadAI

快速教程:使用Cython来扩展Python/NumPy库

前言 整个快速教程直接上例子,具体对Cython的使用可以看参考文章。以下工作均在Windows 10 + Python 2.7 + NumPy 1.11.0...

3903
来自专栏机器之心

资源 | AMD 开源高性能机器智能库MIOpen,可加速卷积神经网络

选自GitHub 机器之心编译 参与:蒋思源 AMD 最近宣布新的深度学习加速库 MIOpen 1.0 现已发布,该深度学习库支持加速卷积神经网络,并且构建和运...

3288
来自专栏计算机视觉战队

NVIDIA DIGITS(非常好用的一个框架)

我也忘了在哪里看过几篇类似的文章,为了让更多朋友知道这个好工具,我今天也作为一名合格的搬运工,希望大家努力传播正能量,和大家共同进步!谢谢! NVIDIA为...

3675
来自专栏从流域到海域

Ubuntu16.04使用Anaconda5搭建TensorFlow使用环境 图文详细教程

本文转载于:http://blog.csdn.net/solo95/article/details/78960389,即专栏作者本人的博客,保留所有版权,禁止转...

2885
来自专栏Python中文社区

Github|Python开源项目漫游指南(一)

Scikit-learn Scikit-learn是基于Scipy为机器学习建造的的一个Python模块,他的特色就是多样化的分类,回归和聚类的算法包括支持向量...

2047
来自专栏小樱的经验随笔

CTF---Web入门第四题 Forms

Forms分值:10 来源: Ph0enix 难度:易 参与人数:4945人 Get Flag:2776人 答题人数:2824人 解题通过率:98% 似乎有...

29211
来自专栏懒人开发

AndroidStudio简单使用(一):基础面板

用android studio也比较长时间了 一直没有怎么总结过, 看了 徐宜生 的 android群英传: 神兵利器 后,才感觉到, 其实 除了代码以外...

941
来自专栏AI研习社

将 TensorFlow 训练好的模型迁移到 Android APP上(TensorFlowLite)

最近在做一个数字手势识别的APP(关于这个项目,我会再写一篇博客仔细介绍,博客地址:一步步做一个数字手势识别APP,源代码已经开源在github上,地址:Chi...

1413
来自专栏ml

makefile在编译的过程中出现“except class name”

今天写了部分代码,在添加到项目中后就那些编译,出现问题如下: logistic_regression_layer.h:20:16: error: expecte...

30910
来自专栏Spark学习技巧

Spark度量系统相关讲解

Spark的Metrics System的度量系统,有两个部分组成:source,sink,创建的时候需要制定instance。度量系统会周期的将source的...

3116

扫码关注云+社区