Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: Mistä CGI-ohjelma saa syötteen?

DakeOne [11.01.2018 17:44:36]

#

Miten saan lähetettyä argumenttejä c++ kielellä tehtyyn CGI ohjelmaan esimerkiksi formista?

Mod. otsikoi. Vanha otsikko: ”HTML ja argc”

Metabolix [11.01.2018 17:51:06]

#

GET-tiedot täytyy hakea getenv-funktiolla ympäristömuuttujasta QUERY_STRING. POST-tiedot tulevat ohjelmalle syötteenä ja luetaan siis stdin-tiedostosta esimerkiksi funktioilla fgets ja scanf. Tiedot ovat sellaisessa muodossa, kuin selaimen osoiterivillä yleensä näkyy, esimerkiksi teksti=Hello%2C+World%21&luku=123, tai tietenkin JavaScriptilla voi lähettää myös XML- tai JSON-dataa.

Komentoriviargumentit (main-funktion parametrit argc ja argv) eivät liity asiaan millään tavalla.

DakeOne [11.01.2018 19:15:15]

#

Kiitos. Miksi tämä ei toimi vaan antaa kääntäessä virheen "len_ was not declared in this scope" ?

len_ = getenv("CONTENT_LENGTH");
len = strtol(len_, NULL, 10);
postdata = malloc(len + 1);
if (!postdata) { /* handle error or */ exit(EXIT_FAILURE); }
fgets(postdata, len + 1, stdin);

cout << postdata;

free(postdata);

Metabolix [11.01.2018 19:16:45]

#

Et varmaan ole määritellyt muuttujaa nimeltä len_.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta