PDA

Pogčedajte punu verziju : Apache send-as-is + cgi-script, moze?


bojan_bozovic
24. 12. 2006., 19:08
Dakle, saljem "HTTP/1.1 200 OK" + CR + LF + "Content-type:text/html;charset=utf-8" + CR + LF +CR +LF medjutim, dobijam u Apache error logu Bad header gresku, ako ne izostavim HTTP response. Kako da na Apache posaljem HTTP response (.exe). send-as-is i cgi-script na .exe nece zajedno da rade (iju!). Googlao sam za ovo i nista nisam nasao. Kolko sam video i perl programi pocinju sa printf"Content-type... dobro, kako vratiti gresku? Drugim recima, moze li se naterati da se Apache ponasa kao IIS?

Ispada na na Apache 404.pl nikada ne moze vratiti 200 OK ili gresim, ako je ErrorHandler za 404?

ivanhoe
24. 12. 2006., 23:55
uf, koliko se secam u perlu se pisalo bas tako print "PROTOKOL STATUS\n"; i to je radilo bez problema...

EDIT: Ispravka, pogledao sam neki stari cgi kod, pravilna sintaxa je :
print "Status: 200 OK\n";
print "Content-type: text/plain; charset=iso-8859-1\n\n";


naravno mozes da setujes koji hoces status...

zextra
25. 12. 2006., 21:33
Uz rizik da nisam dobro razumeo pitanje, te da dajem pogresan odgovor - HTTP/1.1 zahteva da saljes i Host: zaglavlje...

Pokusaj sa HTTP/1.0, mozda budes imao vise uspeha.

bojan_bozovic
26. 12. 2006., 00:44
Zextra, ni sa HTTP/1.0 ne radi, ali to nije problem. print "Status: 404 Not Found/n";print "Content-type:text-html;charset=utf-8/n/n"; (valjda bi tako trebalo u perlu /n=CRLF) ce da obori IE. Treba da mu se udari i print "Cache-control: no-store"; Dakle, Status:nesto radi.

Edit: opet obori IE, ali zato sto je moja Win instalacija losa (chkdskovao je jedno deset puta dok se nije pokrenuo, a ni reinstal mi nije pomogao da pokrenem npr. IIS management.). Inace radi, ali error strana u IE mora biti > 512 bajta.

MorenoArdohain
26. 12. 2006., 01:20
^ zar ne treba \n umesto /n?

bojan_bozovic
26. 12. 2006., 01:27
Da, jeste trenba \n.

ivanhoe
26. 12. 2006., 01:29
(valjda bi tako trebalo u perlu /n=CRLF)


perl sam provaljuje o kom se operativnom radi i salje sta treba...i da naravno treba \n, sa backslashom \

MorenoArdohain
26. 12. 2006., 01:42
Ajd postavi kod ovde da vidimo gde je greska, ovako mozemo lupati koliko oces

bojan_bozovic
26. 12. 2006., 01:50
Nema greske, radi, samo status header treba, meni u IE i click na link na msn.com rusi browser.