CGI 環境變量

SERVER_NAME         CGI腳本運行時的主機名和IP地址.
SERVER_SOFTWARE     你的服務器的類型如: CERN/3.0 或 NCSA/1.3.
GATEWAY_INTERFACE   運行的CGI版本. 對於UNIX服務器, 這是CGI/1.1.
SERVER_PROTOCOL     服務器運行的HTTP協議. 這裏當是HTTP/1.0.
SERVER_PORT         服務器運行的TCP口,一般Web服務器是80.
REQUEST_METHOD      POST 或 GET, 取決於你的表單是怎樣遞交的.
HTTP_ACCEPT         瀏覽器能直接接收的Content-types, 能夠有HTTP Accept header定義.
HTTP_USER_AGENT     遞交表單的瀏覽器的名稱、版本 和其餘平臺性的附加信息。
HTTP_REFERER        遞交表單的文本的 URL,不是全部的瀏覽器都發出這個信息,不要依賴它
PATH_INFO           附加的路徑信息, 由瀏覽器經過GET方法發出.
PATH_TRANSLATED     在PATH_INFO中系統規定的路徑信息.
SCRIPT_NAME         指向這個CGI腳本的路徑, 是在URL中顯示的(如, /cgi-bin/thescript).
QUERY_STRING        腳本參數或者表單輸入項(若是是用GET遞交). QUERY_STRING 包含URL中問號後面的參數.
REMOTE_HOST         遞交腳本的主機名,這個值不能被設置.
REMOTE_ADDR         遞交腳本的主機IP地址.
REMOTE_USER         遞交腳本的用戶名. 若是服務器的authentication被激活,這個值能夠設置。
REMOTE_IDENT        若是Web服務器是在ident (一種確認用戶鏈接你的協議)運行, 遞交表單的系統也在運行ident, 這個變量就含有ident返回值.
CONTENT_TYPE        若是表單是用POST遞交, 這個值將是 application/x-www-form-urlencoded. 在上載文件的表單中, content-type 是個 multipart/form-data.
CONTENT_LENGTH      對於用POST遞交的表單, 標準輸入口的字節數.css

例:HTMLhtml

<HTML>
        <HEAD>
          <TITLE>HTML Form Example</TITLE>
          <LINK rel="stylesheet" href="../css/perlcgi.css" type="text/css">
        </HEAD>
        <BODY>
          <FORM method="GET" action="/cgi-bin/lesson2.pl">
            <h3>Your First Name:</h3>
            <p><INPUT type="text" name="FirstName"></p>
            <h3>Your Last Name:</h3>
            <p><INPUT type="text" name="LastName"></p>
            <h3>Check if you are a student:</h3>
            <p><INPUT type="checkbox" name="isStudent"></p>
            <h3>What is your gender?</h3>
            <p>
              <INPUT type="radio" name="Gender" value="isMale">Male
              <INPUT type="radio" name="Gender" value="isFemale">Female
            </p>
            <h3>How many moons are there on your planet?</h3>
            <p>
            <SELECT name="numMoons" size="5">
              <OPTION value="1" selected>Only One Moon
              <OPTION value="2">Two Nice Moons
              <OPTION value="3">A Fine Triplet
              <OPTION value="4">Four Celestial Bodies
              <OPTION value="5-8">Between Five and Eight
              <OPTION value="9-12">We Have Between Nine and Twelve
              <OPTION value="lots">Too Many To Count!
            </SELECT>
            </p>
            <h3>Comments:</h3>
            <p><TEXTAREA rows="10" cols="80">Type Comments Here</TEXTAREA></p>
            <h3>Hidden Data!</h3>
            <p><INPUT type="hidden" name="Secret" value="Invisible"></p>
            <h3>Submit this Form</h3>
            <p><INPUT type="submit" value="Send Data Now!"></p>
            <h3>Reset this Form</h3>
            <p><INPUT type="reset" value="Clear all my input now"></p>
        </FORM>
      </BODY>
    </HTML>瀏覽器

2.lesson2.pl服務器

#!/usr/bin/perl

use strict;
use CGI;
my $cgi = new CGI;
print
    $cgi->header() .
    $cgi->start_html( -title => 'Form Results',
                      -author => 'Craig Kelley',
                      -style => '/~ink/perl_cgi/css/perlcgi.css') .
    $cgi->h1('Form Results') . "\n";
    my @params = $cgi->param();
    print '<TABLE border="1" cellspacing="0" cellpadding="0">' . "\n";
    foreach my $parameter (sort @params) {
    print "<tr><th>$parameter</th><td>" . $cgi->param($parameter) . "</td></tr>\n";
    }
    print "</TABLE>\n";
    print $cgi->end_html . "\n";
    exit (0);app

相關文章
相關標籤/搜索