Mulla on C tehty CGI ohjelma. Prob on sellanen, että pitäis pystyä jotenkin ohittamaan CONTENT_LENGHT eli siis FORM-DATA:n luku, koska ohjelma kaatuu jos yrittää lukea "tyhjää" CONTENT_LENGHT arvoa. Samassa ohjelmassa myöhemmin lähetetään POST itselleen joka toimii ok, mutta ensimmäisessä käynnistyksessa homma kaatuu.
Pieni esim. : cout
Pieni esim. : cout
Vastaukset 6
Vanhimmat
PHP:llä? $_POST tai $_GET
if (isset($_POST['formin_arvo])) {
// aja CGI
}
PHP:tä on tällä tavalla mahdoton sisällyttää c koodiin että se toimisi oikein. En ainakaan tiedä miten.
hoitaa GETin ja POSTin, niin ohjelmahan saa nuo datat args[] taulukossa. args[0] tais olla itse cgin nimi ja args[1] tulee sitten data. Tarkistat vaan datasta, että onko sen pituus 0 tai onko se null
class CGIApp {
public static void main(String[] args) {
if(args[1] == null || args[1].length() ==0)
{//jotain}
}
}
No sain tän tätä kautta toimimaan, mut olis tavallaan kiva tietää mitä nää merkit meinaa :)
Kun Postia ei ole, niin:
argv[0]=i
argv[1]=;
argv[2]=k
..tyhjää..
Kun postia on, niin:
argv[0]=I
argv[1]=<
argv[2]=K
..tyhjää..
Eli toimin siis näin:
int main(int argc, char *argv)
{
if (argv[1]=='
Eli c näyttää löytyvän ihan metodit ja luokat http-requestia varten
http://www.jeffheaton.com/source/SendHTTP.cpp
Vois olla aiheellista käyttää jonkun tekemiä valmiita luokkia pyyntöjen käsittelyyn, niin ei tule niin kauheita "virityksiä"
http://www.elcel.com/docs/opentop/1.4/API/ot/web/HttpClient.html
Eiköhän näitä tutkimalla ja kokeilemalla löydy se mitä hainkin. Kiitos avusta.