fsockopen vraci moc dlouhou hlavicku...
6 příspěvků
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
Zdravim, chci prenaset parametry pres fsockopen (misto klasickeho formulare) a problemem je, ze mi to nevraci jednu http hlavicku, ale dve, resp. ta prvni je nejaka divna, nevim, co to je zac (to bych si i zjistil, ale hlavne nevim, cim to je...) Vraci to tohle: HTTP/1.1 100 Continue Server: Microsoft-IIS/5.0 Date: Fri, 23 Aug 2002 09:14:30 GMT HTTP/1.1 200 OK Server: Microsoft-IIS/5.0 Date: Fri, 23 Aug 2002 09:14:30 GMT Connection: close X-Powered-By: PHP/4.1.1 Content-type: text/html (... nasleduje obsah pozadovane html stranky ...) --------------- A zdrojovy kod skriptu (zkraceny, pouze dulezite pasaze) je: $fp = fsockopen ($server, 80); if ($fp) { fwrite($fp, "POST $path HTTP/1.1\n"); fwrite($fp, "Host: $host\n"); fwrite($fp, "Content-Length: $qlen\n"); fwrite($fp, "Content-Type: application/x-www-form-urlencoded\n"); fwrite($fp, "Connection: Close\n"); fwrite($fp, "\n"); fwrite($fp, "$query\n"); atd... Pouzivane parametry jsou $server (treba "firma.cz"), $host (treba "akce" - je jich na serveru vic, napr. akce.firma.cz, zadek.firma.cz apod.), $qlen (delka celeho posilaneho parametru) a $query (parametr - hodnoty promennych apod.). Zda se, ze HTTP 1.0 posila hlavicku normalne (tzn. jen tu druhou cast - 200 OK), ale ja musim mit 1.1 prave kvuli tem vice virtual hostum... Nejaky napad? Jde mi o to, ze delam obecnou aplikaci, ve ktery tu hlavicku musim oriznout a preci nebudu pokazde zjistovat, jestli poslal jednu, dve nebo treba pet. Ma poslat jen jednu a za ni \n\n. Kdyz to posle vickrat, tak asi delam neco blbe, ale co?
-
tebe by mela zajimat odpoved az za kodem 200, tam nasleduje vysledek odeslany pri bezchybnem zpracovani - to prece neni problem osetrit (zajistis tim, ze se budes chovat stejne jako browser). kod 100 podle specifikace ma byt jen jakysi informacni mezistav, odpoved serveru, ze pozadavek prijal a zacina jej zpracovavat. jeste jsem se s nim vlastne nesetkal (mozna je to nejaka specialitka IIS :-)... myslim, ze pokud to ve zpracovani preskocis, nic vazneho se nestane... m.s.
-
Asi mas pravdu, proste si pockam na kod 200. Holt se smirim s tim, ze kazdy webserver to oznamuje nejak jinak :-) I kdyz, jak rikam, IIS tohle v HTTP 1.0 nedela, aspon se mi to tak z meho kratkeho testovani zdalo. Holt cim novejsi protokol, tim podrobnejsi hlasky :-) To jsou mi ale vymozenosti... :-)
-
test kodu musis delat tak jako tak (jak jinak poznas co ti server vraci?), takze to mas jedno... m.s.
-
Akorat bych to mel ulehceny, kdybych vedel, ze proste hned prvni radka je chybova/ok hlaska. Takhle treba bude na prvni radce "pockejte, vyrizuji vas pozadavek", na pate "stale se snazim", na desate "uz to skoro bude" a teprve nekde na dvacate "tak jsem stranku nenasel, smula" :-)
-
jenze, ze hned prvni radek (s malym em) nemusi byt ok hlaska... muze tam byt jakakoliv jina - takze testovat to musis stejne. a kdyz si s tim das trosku vice prace a udelas si z toho fci (nebo jeste lepe peknou tridu), tak to muzes pouzivat priste i pro slozitejsi http pozadavky (simulovat browser)... m.s.