🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.perl
4 messages
4 total messages Started by Jacek Fri, 05 Dec 1997 19:37
cgi
#751
Author: Jacek
Date: Fri, 05 Dec 1997 19:37
42 lines
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
#752
Author: Piotr Piatkowski
Date: Sat, 06 Dec 1997 01:23
33 lines
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
#753
Author: Jacek
Date: Sat, 06 Dec 1997 09:43
72 lines
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
#754
Author: Piotr Piatkowski
Date: Sat, 06 Dec 1997 11:50
33 lines
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