| |
CGI Wstęp
Perl
Wady CGI
Interfejs
Wysłanie danych
Zmienne systemowe
Przetwa-
rzanie danych z formularzy
Odnośniki
|
|
Zmienne
systemowe Zmienne systemowe
zawierają informacje o środowisku, w którym zostaje
uruchomiony program CGI. Przed uruchomieniem programu CGI
serwer ustawia odpowiednio wartości zmiennych.
Informacje zawarte w niektórych zmiennych są bardzo
przydatne i możemy je np. zapisywać do pliku.
| Zmienna |
Opis |
| CONTENT_LENGTH |
Liczba bajtów danych wysłanych
z przeglądarki do aplikacji CGI w metodzie POST
(dane te są dostępne na standardowym wejściu) |
| CONTENT_TYPE |
Typ danych wysłanych z
przeglądarki do aplikacji CGI w metodzie POST |
| QUERY_STRING |
Dane wysłane do aplikacji CGI w
metodzie GET |
| HTTP_ACCEPT |
Typy danych MIME, jakie może
przesyłać serwer WWW do/z aplikacji CGI |
| HTTP_USER_AGENT |
Nazwa przeglądarki w formacie:
aplikacja/wesja_biblioteki/wersja |
| GATEWAY_INTERFACE |
Wersja CGI zainstalowana na
serwerze |
| SCRIPT_NAME |
Nazwa programu CGI, który jest
uruchomiony |
| REMOTE_ADDR |
Adres IP (liczby) maszyny, na
której użytkownik ogląda strony WWW |
| REMOTE_HOST |
Adres (tekstowy) maszyny, na
której użytkownik ogląda strony WWW |
| REMOTE_USER |
Nazwa użytkownika w systemie,
który ogląda strony WWW |
| REQUEST_METHOD |
Metoda przesyłania danych przez
protokół HTTP: GET lub POST |
| SERVER_NAME |
Adres (tekstowy) maszyny, na
której jest uruchomiony program CGI |
SERVER_SOFTWARE
|
Nazwa i wersja oprogramowania
serwera WWW, na którym jest uruchomiony program
CGI |
| SERVER_PROTOCOL |
Nazwa i wersja protokołu do
przesyłania danych |
| SERVER_PORT |
Numer portu, z którego korzysta
serwer WWW |
Jeśli chcesz zobaczyć
wartość zmiennych na serwerze http://www.invarnet.inwar.com.pl,
to
Uruchom
skrypt zmienne1.pl
(dane typu tekst ASCII)
Uruchom
skrypt zmienne2.pl
(dane typu HTML)
Kod źródłowy (zmienne1.pl): |
#!/usr/bin/perl
print "Content-type: text/plain\n\n";
print "CONTENT_TYPE =
$ENV{'CONTENT_TYPE'}\n";
print "CONTENT_LENGTH =
$ENV{'CONTENT_LENGTH'}\n";
print "QUERY_STRING =
$ENV{'QUERY_STRING'}\n";
print "HTTP_ACCEPT =
$ENV{'HTTP_ACCEPT'}\n";
print "HTTP_USER_AGENT = $ENV{'HTTP_USER_AGENT'}\n";
print "GATEWAY_INTERFACE =
$ENV{'GATEWAY_INTERFACE'}\n";
print "SCRIPT_NAME =
$ENV{'SCRIPT_NAME'}\n";
print "PATH_INFO =
$ENV{'PATH_INFO'}\n";
print "PATH_TRANSLATED =
$ENV{'PATH_TRANSLATED'}\n";
print "REMOTE_ADDR =
$ENV{'REMOTE_ADDR'}\n";
print "REMOTE_HOST =
$ENV{'REMOTE_HOST'}\n";
print "REMOTE_USER =
$ENV{'REMOTE_USER'}\n";
print "REQUEST_METHOD =
$ENV{'REQUEST_METHOD'}\n";
print "SERVER_NAME =
$ENV{'SERVER_NAME'}\n";
print "SERVER_SOFTWARE =
$ENV{'SERVER_SOFTWARE'}\n";
print "SERVER_PROTOCOL =
$ENV{'SERVER_PROTOCOL'}\n";
print "SERVER_PORT =
$ENV{'SERVER_PORT'}\n"; |
Wartość zmiennej odczytujemy w
Perl-u za pomocą konstrukcji:
$ENV{'<nazwa_zmiennej>'}.
|