Cgi perl

Programare cu PERL

În prezent, PERL este una dintre cele mai bune limbi de programare CGI pentru servere Web bazate pe Unix. Pentru alte platforme, această limbă este de asemenea potrivită.

Orice script CGI trebuie să genereze un antet de răspuns. Cum se face acest lucru pe PERL? Foarte simplu

Acum câteva note despre plasarea scripturilor pe server.
De obicei, scripturile sunt plasate în directorul cgi-bin. Deși acest lucru nu este întotdeauna cazul. Scriptul dvs. ar trebui să aibă drepturi de a rula pe sistem (este vorba de Unix). Aceasta se face prin comanda chmod + x script.cgi.

Și acum puteți începe să scrieți un scenariu și ar trebui să începeți cu un salut pentru lume.

Deci, cel mai simplu script:

#! / usr / bin / perl
tipăriți "Content-Type: text / html";
tipăriți "";

Prima linie indică calea către interpretul PERL din sistem (aici este calea în care PERL se găsește de obicei în sistemul Unix.
A doua linie afișează titlul.
Dar a treia linie trimite datele browserului pe care browserul le procesează în funcție de tipul trecut în antet.

- HA. - spune un vizitator respectat - Nu este mai ușor să tastați un fișier HTML fără script-uri acolo?

Mai ușor! Dar dacă aveți nevoie ca pagina să fie dinamică, depinde de acțiunile utilizatorului, vai :)))) scriptul va trebui să scrie.
Pentru a face acest lucru, trebuie să procesați parametrii proveniți de la utilizator.

Parametrii din scriptul CGI sunt transmiși cu ajutorul variabilelor de mediu.

Pentru a studia variabilele de mediu, vom scrie un mic script

#! / usr / bin / perl
tipăriți "Content-Type: text / html";
print "mediu „;
print " „;
print "Solicitarea dvs. este: $ ENV

„;
print "Variabile:
„;
print "REQUEST_METHOD= $ ENV
„;
print "QUERY_STRING= $ ENV
„;
print "CONTENT_LENGTH= $ ENV
„;
print "CONTENT_TYPE= $ ENV
„;
print "GATEWAY_INTERFACE= $ ENV
„;
print "REMOTE_ADDR= $ ENV
„;
print "REMOTE_HOST= $ ENV
„;
print "SCRIPT_NAME= $ ENV
„;
print "SCRIPT_FILENAME= $ ENV
„;
print "SERVER_NAME= $ ENV
„;
print "SERVER_PORT= $ ENV
„;
print "SERVER_PROTOCOL= $ ENV
„;
print "SERVER_SOFTWARE= $ ENV
„;
print "HTTP_ACCEPT= $ ENV
„;
print "HTTP_USER_AGENT= $ ENV
„;
print " „;

La pornire, acest script vă va oferi valorile variabilelor de mediu.
Puteți introduce acest script și puteți experimenta cu interogările, vedeți ce se întâmplă, puteți vedea aici

dacă ($ ENV eq 'GET') # Verificați dacă metoda de solicitare GET
;> # apoi în $ query scriem șirul de interogare
# (cel care urmează după "?" din interogare)
elsif ($ ENV eq 'POST') # dacă metoda POST solicită
);> # scrie apoi în $ query
# din antetul solicitării

@pairs = split (//, $ interogare); # rupe cererea pentru perechi key = value
foreach $ pereche (@pairs) ($ name, $ value) = împărțit (/ = /, $ pair); # tastați în variabilă $ nume, valoare
# în valoarea $ variabilă
Valoarea $ =

tr / + /; # înlocuiți profesioniștii cu spații
Valoarea $ =

s /% ([a-fA-F0-9] [a-fA-F0-9]) / pachet ("C", hex ()) / # înlocuim non-standard
# caractere la valorile codificate de tip C00
Valoarea $ =

După includerea acestui cod în scripturile dvs., trebuie doar să utilizați hashul de intrare $ indicând numele parametrului în paranteze curbate. De exemplu, valoarea de intrare $ va fi "1", intrarea $ va fi "val", etc.

Utilizarea modulului CGI, așa cum sa menționat anterior, este preferabilă, mai convenabilă și mai sigură.

Accesul la parametrii de interogare este furnizat de funcția param. Fără parametri, această funcție returnează o serie de valori care conțin numele tastelor de parametri. Pentru a obține valoarea prin cheie, în param trebuie să treci numele cheii ca argument.

Următorul exemplu afișează interogarea primită în formatul Cheie: Valoare

#! / usr / bin / perl
utilizați CGI qw /: standard /; # conectați setul standard de module CGI
antetul de imprimare; # Afișați titlul
# (în loc să tipăriți "Content-Type: text / html";)
print start_html ('Exemplu'); # imprimați titlul documentului html
foreach $ cheie (param) <# пробегаемся по всем параметрам запроса
# introducerea cheilor de valoare din variabila $ key
print "cheie cheie: "# # imprimați numele cheii
$ value = param (cheia $); # citiți valoarea cheii
tipăriți valoarea $, "
"# și afișați-l pe ecran
>
print end_html;

Se pare că ați trimis șirul de interogare a = 1b = 2 la script. Scriptul la procesat și a produs rezultatul de mai sus.

Articole similare