close
翻譯價位

利用C說話寫CGI變數輸入圖

按照以上的圖,有兩一個系統參數可以辨別參數傳過來的方式,就是(REQUEST_METHOD),裡面會儲存傳入變的的方式,使用以下一個簡單的程式可以抓取所有的環境變數:


3.CGI中參數的傳入

//
// File Name test1.cpp
//
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[],char *envp[] )
{
  printf("Content-type: text/html ");
  printf("Hello___World");
}

列位可將此程式編譯(gcc -o test1.cgi test1.cpp)之後,放在可以執行的目次下。

利用C語言撰寫CGI程式

printf ("Content-type: text/html ");

猶如之前所論述,CGI程式與一般的程式最大的不同在於資料擷取的分歧,網頁資料的擷取上主要有兩種,分別是透過GET與POST翻譯這兩種可以透過表單函數<form method="GET/POST">下去設定,在此引用Form與CGI的綜合運用中作者所畫的一張圖,可以清晰的瞭解變數在此轉換的不同。

      printf("<br>");
int main(int argc, char* argv[],char *envp[] )

#include <stdio.h>

2.C說話中CGI裡面的Hello World!!

在這裡要跟各人講授對於網頁而言,其實與一般的C說話程式沒有兩樣,重點在於輸出與輸入的介面(UI)。相較於一般的C說話程式,操縱C來撰寫的CGI其輸入與輸出都紛歧樣,起首在輸出方面,最紛歧樣的就是CGI有以下的輸出

關於哄騙C說話撰寫CGI程式的部門,這也是之前人家面試的時刻,所扣問鉦昱翻譯公司的別的一個問題,顛末這幾天上彀找資料,而且撰寫以後,將一些心得收拾整頓出來,希望能幫助到有一些疑問的人翻譯其實使用環節字『C說話、CGI、GET、POST』仍是可以找到蠻多相幹的網頁,大部份的資料都嫌老舊,並且都是由同一個作者撰寫而出(不外卻是有蠻多人複製在本身的網站上面--_________--""),所以在此為列位收拾整頓一些概念,而繁瑣的程式碼(關於將STRING去spilit並且找出變數對應值)就不再詳述,可參考以下這個網址,在這裡只專注於觀念上的敘述,希望帶給各人一些根基的概念翻譯

 

P.S.  算是FAQ的問題,請注意即使可以履行 C說話的請編譯好用點竄權限為可以履行的檔案。

這個就是代表這是一個網頁的程式,記住"Content-type: text/html "這段文字儘量不要修改,並且連空白都要注意好(沒有注意好,網頁伺服器會誤認為其他可履行檔案而釀成可以下載,而非當做CGI程式),所以按照這個,以下為一個根基的CGI程式

 

}

傳值為GET的取值法:大師亦可透過典範程式去看,若是在網址列後面輸入變數(?aa=1&bb=2)便可視察到變數QUERY_STRING裡面百的就是我們所輸入的變數值,在根據裡面的資料去PARSE即可瞭解。若要使用表單的規範請看這裡,若要看詳細CGI程式碼,請看這裡

傳值為POST的取值法:若是透過<form method="POST">的體例所傳遞過來的參數,在CGI程式當中,會被當作是Standard_input也就是當做外在輸入(可用getch翻譯社 gets來抓取),然後在一個個去變數去作PARSE的動作。以下會有一個範例的表單傳遞到變數去翻譯若要看詳細CGI程式碼,請看這裡

其實對於字串的PARSE部分,應當有很多寫好的函示可以利用,不外重點仍是在於兩種輸入體例對於程式處置懲罰上的分歧。(切記:GET=>Query_String; POST=>Std_Input)

 

 

參考資料:

  1. Form與CGI的綜合應用

  2. 用C說話進行CGI法式程式

  3. Win32下apache,perl环境創設    BigApple(原作)

  4. CGI典範榜樣與寫作

      printf(envp[i]);
   printf("Content-type: text/html ");

1.放在可以執行的處所

不論哪一種網頁伺服器的主機(IIS、Apache),對於檔案能否履行(execute)的權限治理相當嚴格,尤其是Apache,要由網路上執行某些檔案(平常是CGI),都必須透過,httpd.conf 這個檔案裡面的設定才行(凡是預設是 cgi-bin/ ) 。另外一方面,對於IIS的設定就便利多了,只要啟動IIS Service將該目次可執行的權限打開,就可以執行CGI程式。

利用C說話寫CGI的一些心得收拾整頓

CGI( Common Gateway Interface)

 

{
   for(int i = 0; envp[i] != NULL; ++i ){
    } 
"65306", {});


本篇文章引用自此: http://blog.roodo.com/testingkkdai/archives/3050181.html有關各國語文翻譯公證的問題歡迎諮詢鉦昱翻譯公司02-23690937

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 littlet35tp2 的頭像
    littlet35tp2

    littlet35tp2@outlook.com

    littlet35tp2 發表在 痞客邦 留言(0) 人氣()