C/C++ / CGI / Sieć Novell / PHP / Java / SQL / Oracle / WebSphere MQ / WebSphere Message Broker / JavaScript / Humor / IT Quiz

Pobranie danych wejściowych

Przy metodzie GET : Najprostszy sposób to zachowanie w odpowiednim łańcuchu tekstowym zmiennej środowiskowej QUERY_STRING.

//łańcuch zawierający zmienną środowiskową QUERY_STRING
#define QUERY_STRING getenv("QUERY_STRING")
void main()
{
...
printf("%s\n",QUERY_STRING);
...
}

Przy metodzie POST : Należy sprawdzić zmienną środowiskową CONTENT_LENGTH. Jeśli będziemy mieli do czynienia z metodą POST zmienna ta będzie zawierała długość danych wejściowych, w przeciwnym przypadku wartość NULL

//łańcuch zawierający zmienną środowiskową CONTENT_LENGTH
#define CONTENT_LENGTH getenv("CONTENT_LENGTH")
void main()
{
char *data
unsigned int content_length_int
...
//jeśli to metoda POST
if ( CONTENT_LENGTH != NULL )
{
//do zmiennej content_length_int zapisz wartość zmiennej środowiskowowej CONTENT_LENGTH
content_length_int = atoi ( CONTENT_LENGTH );
//zarezerwuj pamięć dla danych wejściowych
data = ( char * ) malloc (sizeof ( char ) * content_length_int + 1 );
//czytaj ze standardowego wejścia
if ( fread ( data , sizeof ( char ) , content_length_int , stdin ) != content_length_int)
printf("Błąd podczas czytania ze standardowego wejścia\n");
}
//zakończ łańcuch znakiem '\0'
data [ content_length_int ] = '\0';
...
//zwolnij pamięć
free ( data )
}

Powrót


  Autorem serwisu jest Marcin Kasiński
Wszelkie prawa zastrzeżone. All rights reserved.
powered by technology... linux eclipse java php