參考引用
- SQLite 權威指南(第二版)
- SQLite3 入門
1. Apache 搭建 cgi 環境
1.1 什么是 Apache
- Apache 是世界使用排名第一的 Web 服務器軟件
- 它可以運行在幾乎所有廣泛使用的計算機平臺上,由于其跨平臺和安全性被廣泛使用
1.2 具體搭建流程
通瀏覽器 /Qt 程序訪問 apache2 后的 cgi 程序
-
1、安裝 apache2 服務器
$ sudo apt install apache2
-
2、測試是否安裝成功
- 在瀏覽器中輸入虛擬機 ip 地址,顯示下圖則表示安裝成功
- 在瀏覽器中輸入虛擬機 ip 地址,顯示下圖則表示安裝成功
-
3、配置 apache2 支持 cgi 程序
- 進入 /etc/apache2/mods-enabled 目錄下,把 cgi 配置文件創建軟連接到當前目錄下
$ cd /etc/apache2/mods-enabled $ sudo ln -s ../mods-available/cgid.conf cgid.conf $ sudo ln -s ../mods-available/cgid.load cgid.load $ sudo ln -s ../mods-available/cgi.load cgi.load
- 在 apache2.conf 文件最前面添加 ServerName 127.0.0.1
$ cd /etc/apache2/ $ sudo vim apache2.conf
- 重啟 apache
$ sudo apachectl restart
- 進入 /usr/lib/cgi-bin/ 目錄下寫 cgi 程序(c/c++ 語言程序)并編譯
$ cd /usr/lib/cgi-bin/ $ sudo vim main.c $ sudo gcc -o main.cgi main.c
// main.c #include <stdio.h> int main(void) {printf("Content-type:text/html;charset=utf-8\n\n"); // 防止亂碼printf("hello world\n\n");printf("hello world\n\n");printf("hello world\n\n");return 0; }
- 查看放置 cgi 程序的目錄(無需操作,了解即可)
$ cd /etc/apache2/conf-enabled $ vim serve-cgi-bin.conf
- 4、測試
2. cgi 接收客戶端的數據
訪問 cgi 程序并且把 number=100 參數傳遞給 cgi 程序
- 瀏覽器 get 請求:實際是 GET,它將數據打包放置在環境變量 QUERY_STRING 中作為 URL 整體的一部分傳遞給服務器,cgi 通過獲取環境變量得到數據
- 在 cgi 程序中查詢環境變量獲取數據
// main.c #include <stdio.h> #include <stdlib.h>int main(void) {printf("Content-type:text/html;charset=utf-8\n\n");char *str = getenv("QUERY_STRING"); //str = "number=100";if (str == NULL) {printf("arg error\n\n");} else {//str = "number=100";int data = 0;sscanf(str, "number=%d", &data); // 解析出 100 存儲在 data 中printf("hello world %d^2=%d\n\n", data, data*data);}return 0; }
以下內容待更新…