Quando? Come? Perchè?
Vorrei approfondire di più l'argomento di come vengano usati questi linguaggi sul web e su come implementarli.
Spero qualcuno mi possa aiutare a fare una cultura in materia.
Grazie mille
Quando? Come? Perchè?
Vorrei approfondire di più l'argomento di come vengano usati questi linguaggi sul web e su come implementarli.
Spero qualcuno mi possa aiutare a fare una cultura in materia.
Grazie mille
$Pippo... la variabile preferita dall'ingegnere!
Forse se ti sposti nella sezione CGI avrai migliori informazioni.
"Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)
"Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)
http://xvincentx.netsons.org/programBlog
fatto, ma pesavo forse fosse più attinente al linguaggio
$Pippo... la variabile preferita dall'ingegnere!
io penso che sia più pertinente questa sezione, in quella del cgi parlano più di perl.
In ogni caso studiati il protocollo cgi, che è semplicissimo, normalmente vengono scritti dei programmi in C o C++ che risiedono in una delle cartelle cgi del server e i relativi programmi vengono invocati dal server stesso con cui dialogono proprio con il protocollo cgi. Le informazioni vengono scambiate con lo standard input, le variabili di ambiante e lo standard output.
se hai delle richieste specifiche posta pure
ciao
sergio
Interessa pure me
Ciao,
banalmente C o C++ vengono usate lato server e sono "equivalenti" alle Servlet Java, oppure a Perl.
Si basano sul CGI per comunicare, lo scopo per cui usare tale linguaggio a differenza di altri più semplici come Perl/PHP sono le performance. Come sappiamo C/C++ viene compilato, a differenza dei linguaggi di scripting che vengono trasformati a runtime.
Ovviamente ad oggi usare C/C++ non serve veramente sia per le performance dei server dispinibili sia per la possibilità di ottimizzazione dei vari linguaggi di scripting.
vi posto un codice che crea un eseguibile cgi.
Dovete compilarlo e compiarlo nella cartella cgi-bin del vostro server, ed eseguirlo da un browser con http://vostro_server/cgi-bin/nome_eseguibile, questo è tutto.
il codice è autoesplicativo, se c'è qualcosa di non chiaro chiedete purecodice:#include <iostream> using namespace std; /* urldecode - v. RFC 1738 per i dettagli */ string urldecode (string &input) { string str ; char c, c1, c2; const char *in = input.c_str(); while (c = *in) { if( c == '%' ) { c1 = *(++in); c2 = *(++in); // if( c1 == EOF || c2 == EOF ) exit(0); c1 = tolower(c1); c2 = tolower(c2); if( ! isxdigit(c1) || ! isxdigit(c2) ) return str; if( c1 <= '9' ) c1 = c1 - '0'; else c1 = c1 - 'a' + 10; if( c2 <= '9' ) c2 = c2 - '0'; else c2 = c2 - 'a' + 10; str += 16 * c1 + c2 ; } else if( c == '+' ) str += ' ' ; else str += c ; in++; } return str; } int main (int argc, char *argv[]) { string document_root ; string method ; unsigned int length ; if ( getenv( "DOCUMENT_ROOT" ) ) document_root = getenv( "DOCUMENT_ROOT" ); if ( getenv( "REQUEST_METHOD") ) method = getenv( "REQUEST_METHOD" ); if ( getenv( "CONTENT_LENGTH" ) ) length = atoi( getenv( "CONTENT_LENGTH" ) ); else length = 0; string the_query_string = ""; if ( method == "POST" ) { if ( length > 0 ) { char * str = new char [length]; cin.read (str, length); the_query_string = str; delete [] str; } } else if ( method == "GET" ) { if ( getenv("QUERY_STRING") ) the_query_string = getenv("QUERY_STRING"); the_query_string = urldecode(the_query_string); } else { string s1; while ( cin >> s1 ) the_query_string += s1; } cout << "Content-type: text/html" << endl << endl; cout << "query-string = " << the_query_string << endl; return (0); }
ciao
sergio
Grazie mille, direi che l'esempio è una buona base di partenza
$Pippo... la variabile preferita dall'ingegnere!
Insomma, un eseguibile CGI può fare tutto ciò che il linguaggio permette, con o senza librerie aggiuntive (riavvii di sistemi, threads, processi, cose specifiche).
L'importante è che l'output (sempre se deve esserci) deve solo essere HTML.
"Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)
"Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)
http://xvincentx.netsons.org/programBlog
Esattamente, come dici tu C/C++, Servlet o PHP lo scopo ultimo alla fine è quello, cambia solo il modo.Originariamente inviato da XWolverineX
Insomma, un eseguibile CGI può fare tutto ciò che il linguaggio permette, con o senza librerie aggiuntive (riavvii di sistemi, threads, processi, cose specifiche).
L'importante è che l'output (sempre se deve esserci) deve solo essere HTML.