c code 需要編譯 , 根據你的平台而定 , 我用gcc 在linux 編譯為add.cgi名稱 ,並且放置在/var/www/cgi-bin (此時已經安裝apache2了)
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char *data;
long num1,num2;
printf("Content-type: text/html\n\n");
printf("<title>加法結果</title>");
printf("<h3>加法結果</h3 > ");
data = getenv("QUERY_STRING");
if(data == NULL)
printf("<p>無值");
else if(sscanf(data,"num1=%ld&num2=%ld",&num1,&num2)!=2)
printf("<p>輸入錯誤");
else
printf("<p>和為:%ld。",num1+num2);
return 0;
}
有個重點 , 如果在action="/cgi-bin/add.cgi發現有下載的動作 ,這是錯的,因為並沒有經過cgi的處理. 我在fedora ,若是直接點選add.html的話 , 你會發現執行失敗(下載或是File Not Found之類錯誤) 但是如果你使用windows的firefox 打上http://192.168.56.101/add.html 連到fedora的apache2 , 你會發現處理正確. 這是菜鳥的血淚之言阿.
code:
https://drive.google.com/file/d/0B8hm-I2M8BD7cUFmQTNJc3FwQmc/view?usp=sharing


沒有留言:
張貼留言