Thread View: pl.comp.lang.perl
4 messages
4 total messages
Started by Jacek
Fri, 05 Dec 1997 19:37
cgi
Author: Jacek
Date: Fri, 05 Dec 1997 19:37
Date: Fri, 05 Dec 1997 19:37
42 lines
1844 bytes
1844 bytes
Witam, Chcialbym napisac skrypt, ktory w miare tworzenia strony wysylal ja do przegladarki. Uzylem prostego skryptu na poczatek: (linux, apache 1.1.1) plik nph-test-cgi #!/bin/sh echo HTTP/1.0 200 OK echo Content-type: text/plain echo Server: $SERVER_SOFTWARE echo echo CGI/1.0 test script report: echo echo argc is $#. argv is "$*". echo echo SERVER_SOFTWARE = $SERVER_SOFTWARE echo SERVER_NAME = $SERVER_NAME sleep 10 echo GATEWAY_INTERFACE = $GATEWAY_INTERFACE echo SERVER_PROTOCOL = $SERVER_PROTOCOL echo SERVER_PORT = $SERVER_PORT echo REQUEST_METHOD = $REQUEST_METHOD echo HTTP_ACCEPT = "$HTTP_ACCEPT" echo PATH_INFO = $PATH_INFO echo PATH_TRANSLATED = $PATH_TRANSLATED echo SCRIPT_NAME = $SCRIPT_NAME echo QUERY_STRING = $QUERY_STRING echo REMOTE_HOST = $REMOTE_HOST echo REMOTE_ADDR = $REMOTE_ADDR echo REMOTE_USER = $REMOTE_USER echo CONTENT_TYPE = $CONTENT_TYPE echo CONTENT_LENGTH = $CONTENT_LENGTH Liczylem, ze czesc zmiennych otrzymam natychmiast, reszte po 10 sek. Niestety po 10 sek. otrzymalem calosc. Czy mozna inaczej? Pozdrawiam, Jacek
Re: cgi
Author: Piotr Piatkowski
Date: Sat, 06 Dec 1997 01:23
Date: Sat, 06 Dec 1997 01:23
33 lines
1651 bytes
1651 bytes
Jacek <jacek@infosys.de> wrote: : Witam, : Chcialbym napisac skrypt, ktory w miare tworzenia strony wysylal ja do : przegladarki. Uzylem prostego skryptu na poczatek: (linux, apache 1.1.1) : plik nph-test-cgi : #!/bin/sh : echo HTTP/1.0 200 OK : echo Content-type: text/plain : echo Server: $SERVER_SOFTWARE ... : sleep 10 ... : echo GATEWAY_INTERFACE = $GATEWAY_INTERFACE : Liczylem, ze czesc zmiennych otrzymam natychmiast, reszte po 10 sek. : Niestety po 10 sek. otrzymalem calosc. Czy mozna inaczej? Problem polega chyba na tym, że Twój program buforuje wejście i nie wyświetla go po każdym echo, a dopiero na końcu działania programu. I szczerze mówiąc nie wiem jak to zmienić w shellu. Ale napisz to samo w perlu, wstawiając na początku skryptu $|=1; żeby wyłączyć buforowanie, i zobacz czy działa. Oops... Wyjaśnij mi przy okazji co Twoje pytanie miało wspólnego z perlem??? -- Piotr Piątkowski, Uczelniane Centrum Informatyki, AGH Krakow, POLAND
Re: cgi
Author: Jacek
Date: Sat, 06 Dec 1997 09:43
Date: Sat, 06 Dec 1997 09:43
72 lines
2849 bytes
2849 bytes
Witam, Sorry za przyklad w shellu, ale ponizszy przyklad w perlu tez dziala podobnie: plik: nph-test-pl #!/usr/bin/perl #flush after each write $| = 1; print "HTTP/1.0 200 OK\n"; print "Content-type: text/plain\n"; print "Server: $SERVER_SOFTWARE\n"; print "\n"; print "CGI/1.0 test script report:\n\n"; print "SERVER_SOFTWARE = $SERVER_SOFTWARE\n"; print "SERVER_NAME = $SERVER_NAME\n"; sleep 10; print "GATEWAY_INTERFACE = $GATEWAY_INTERFACE\n"; print "SERVER_PROTOCOL = $SERVER_PROTOCOL\n"; print "SERVER_PORT = $SERVER_PORT\n"; print "REQUEST_METHOD = $REQUEST_METHOD\n"; print "HTTP_ACCEPT = $HTTP_ACCEPT\n"; print "PATH_INFO = $PATH_INFO\n"; print "PATH_TRANSLATED = $PATH_TRANSLATED\n"; print "SCRIPT_NAME = $SCRIPT_NAME\n"; print "QUERY_STRING = $QUERY_STRING\n"; Dzieki i licze na dalsza pomoc Jacek Piotr Piatkowski schrieb in Nachricht <66a9er$jqa$1@galaxy.uci.agh.edu.pl>... >Jacek <jacek@infosys.de> wrote: >: Witam, > >: Chcialbym napisac skrypt, ktory w miare tworzenia strony wysylal ja do >: przegladarki. Uzylem prostego skryptu na poczatek: (linux, apache 1.1.1) > >: plik nph-test-cgi > >: #!/bin/sh >: echo HTTP/1.0 200 OK >: echo Content-type: text/plain >: echo Server: $SERVER_SOFTWARE >... >: sleep 10 >... >: echo GATEWAY_INTERFACE = $GATEWAY_INTERFACE > >: Liczylem, ze czesc zmiennych otrzymam natychmiast, reszte po 10 sek. >: Niestety po 10 sek. otrzymalem calosc. Czy mozna inaczej? > >Problem polega chyba na tym, że Twój program buforuje wejście i nie >wyświetla go po każdym echo, a dopiero na końcu działania programu. I >szczerze mówiąc nie wiem jak to zmienić w shellu. > >Ale napisz to samo w perlu, wstawiając na początku skryptu >$|=1; >żeby wyłączyć buforowanie, i zobacz czy działa. > >Oops... Wyjaśnij mi przy okazji co Twoje pytanie miało wspólnego z >perlem??? > >-- >Piotr Piątkowski, Uczelniane Centrum Informatyki, AGH Krakow, POLAND
Re: cgi
Author: Piotr Piatkowski
Date: Sat, 06 Dec 1997 11:50
Date: Sat, 06 Dec 1997 11:50
33 lines
1637 bytes
1637 bytes
Jacek <jacek@infosys.de> wrote:
: Witam,
: Sorry za przyklad w shellu, ale ponizszy przyklad w perlu tez dziala
: podobnie:
: plik: nph-test-pl
: #!/usr/bin/perl
: #flush after each write
: $| = 1;
: print "HTTP/1.0 200 OK\n";
: print "Content-type: text/plain\n";
: print "Server: $SERVER_SOFTWARE\n";
: print "\n";
: print "CGI/1.0 test script report:\n\n";
: print "SERVER_SOFTWARE = $SERVER_SOFTWARE\n";
...
: Dzieki i licze na dalsza pomoc
U mnie działa dobrze - wyświetla najpierw początek, a po 10 sekundach
resztę - przy czym oczywiście zmienne $SERVER_SOFTWARE itp. są
niezdefiniowane (powino być $ENV{SERVER_SOFTWARE}, etc...).
Z czego wynika że problem leży w konfiguracji serwera, z czego wynika
że pytanie zdecydowanie nie na tą grupę.
--
Piotr Piątkowski, Uczelniane Centrum Informatyki, AGH Krakow, POLAND
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads