Hello, kezdo vagyok igy lenne nehany kerdesem a http script-ekkel
kapcsolatban ( C-ben programozok, Linux vagy WinNT alatt):
1) hogyan hivhatok egy programot a bongeszobol ugy, hogy a program
a szerveren fusson, at tudjak adni neki nehany parametert (pl. SUBMIT-tel,
ezt meg tudnam csinalni, csak azt nem tudom, hogy a programba
hogyan tudom a parametereket atadni < "argv[], argc"-vel ? > , hogy
feldolgozhassa oket.
2) a programnak ezutan pedig vissza kellene kuldeni html formatumban
nehany adatot amit pl. egy *.DBF adatbazisbol keresett ki a kapott
parameterek alapjan.
Tudom, hogy ezt egyszeruen meg lehet csinalni CGI scripttel meg SQL
szerverrel, de egyelore nincs ilyen szerverunk.
PS: Az egeszbol leginkabb a parameterek atadasa erdekel a c-programba/bol.
Ha valaki segitene nagyon megkoszonnem.
Fasanga Tibor
mailto:
|
>Megvolt mind a 2 \n ?
>print "Content-type:text/html\n\n"; (perlben)
>Es utana szepen a html head/body?
Szerintem a szervert nem erdekli, hogy a HTML body-ban megvannak-e megfelelo
HTML tagok. Csak azt vizsgalja, hogy a megfelelo HTML *header* tagok
megvannak-e. Igy szerintem az utolso sor nem erdekes a szerver szempontjabol.
Persze nagyon erdekes abbol a szempontbol, hogy hogyan jelenik meg a
bongeszoben, mert nagyon mas tud lenni IE es NS bongeszoben.
A premature end of script header oka egyebkent lehet programozasi hiba is, ilye
n
esetben ugyanis nem a vart header, hanem a hiba uzenet jelenik meg a kimeneten.
En ilyen esetekben talalkoztam ezzel a jelenseggel.
Erdemes megnezni azt is, hogy a szerver tamogatja-e, nem viseli el, vagy
megkoveteli az NPH script-etket. NPH azaz non parsing header. Ekkor a script
irja ki az osszes header mezot, mig nem NPH-nal a szerver a HTML ele rakja, csa
k
a Content-type kell. Praktikusan ez azt jelenti, hogy meg kell probalni a HTTP
valasz bevezeto sorat is kiirni:
HTTP/1.0 200 OK
Vagy nem kiirni. A Windows NT IIS megkoveteli ezt a sort, ha az isapi Perl fut
(ez nem igazi CGI, cag a Perl ugy latja, de ugyanabban a processzben fut, mint
a
Web szerver es emiatt gyorsabb az elinditasa, viszont nem tud uj processzt
elinditani, multipart (upload) fogadni, es socket-et kezelni). A Windows NT IIS
igazi CGI-ben, amikor egy igazi exe indul el, es nem PerlIS.dll akkor
intelligensen eldonti, hogy kell-e neki az egesz ele odatenni a HTTP/1.0 200 OK
sort vagy sem.
AOL web szerver es Apache pedig alapertelmezesben nem fogadta el a HTTP/1.0 200
OK sort.
Ajanlom Perl programozoknak a CGI.pm
http://www-genome.wi.mit.edu/ftp/pub/software/WWW/cgi_docs.html
ftp://ftp-genome.wi.mit.edu/pub/software/WWW/
forrasanak az olvasgatasat, igen sokat lehet belole ezekrol a dolgokrol tanulni
.
Udv.
Peter
|