File: nph-sample.cgi

package info (click to toggle)
wn 2.0.5-3
  • links: PTS
  • area: main
  • in suites: slink
  • size: 2,208 kB
  • ctags: 1,499
  • sloc: ansic: 14,439; sh: 2,430; perl: 1,360; makefile: 291
file content (75 lines) | stat: -rwxr-xr-x 2,946 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#!/usr/local/bin/perl

# Simple example of nph- CGI script.  It must supply ALL headers.

# Get date information
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =  gmtime();
$fullyear = $year + 2000;
$fullyear -= 100 if $year > 75;
@weekday = ( "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat");
@month = ( "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul",
	"Aug", "Sep", "Oct", "Nov", "Dec");

$|=1;  # Make output unbuffered -- needed for server push

print "HTTP/1.0 200 OK\r\n";    # The first line must be the status line

printf("Date: %s, %02d %s %04d %02d:%02d:%02d GMT\r\n",
     $weekday[$wday], $mday, $month[$mon], $fullyear, $hour, $min, $sec);

print "Server: $ENV{SERVER_SOFTWARE}\r\n";
print "Content-type: text/html\r\n"; 
print "Cache-control: no-cache\r\n";


print "\r\n";                        # A blank line ends the headers

# From now on everything goes to the client

print "<!doctype html public \"-//W3C//DTD HTML 3.2 Final//EN\">\n";
print "<html>\n";
print "  <head>\n";
print "    <title>WN Executable Program Example -- Results</title>\n";
print "  </head>\n";
print "\n";
print "  <body>\n";
print "    <h2>Here are some standard CGI environment variables:</h2>\n";
print "\n";
print "    <p>\n";
print "      PATH_INFO = $ENV{PATH_INFO}<br>\n";
print "      AUTH_TYPE = $ENV{AUTH_TYPE}<br>\n";
print "      SERVER_SOFTWARE = $ENV{SERVER_SOFTWARE}<br>\n";
print "      SERVER_NAME = $ENV{SERVER_NAME}<br>\n";
print "      SERVER_PROTOCOL = $ENV{SERVER_PROTOCOL}<br>\n";
print "      SERVER_PORT = $ENV{SERVER_PORT}<br>\n";
print "      HTTP_ACCEPT = $ENV{HTTP_ACCEPT}<br>\n";
print "      HTTP_ACCEPT_CHARSET = $ENV{HTTP_ACCEPT_CHARSET}<br>\n";
print "      HTTP_ACCEPT_LANGUAGE = $ENV{HTTP_ACCEPT_LANGUAGE}<br>\n";
print "      HTTP_RANGE = $ENV{HTTP_RANGE}<br>\n";
print "      HTTP_REFERER = $ENV{HTTP_REFERER}<br>\n";
print "      HTTP_USER_AGENT = $ENV{HTTP_USER_AGENT}<br>\n";
print "      HTTP_FROM = $ENV{HTTP_FROM}<br>\n";
print "      HTTP_HOST = $ENV{HTTP_HOST}<br>\n";
print "      HTTP_COOKIE = $ENV{HTTP_COOKIE}<br>\n";
print "      PATH_TRANSLATED = $ENV{PATH_TRANSLATED}<br>\n";
print "      SCRIPT_NAME = $ENV{SCRIPT_NAME}<br>\n";
print "      SCRIPT_FILENAME = $ENV{SCRIPT_FILENAME}<br>\n";
print "      QUERY_STRING = $ENV{QUERY_STRING}<br>\n";
print "      REMOTE_HOST = $ENV{REMOTE_HOST}<br>\n";
print "      REMOTE_ADDR = $ENV{REMOTE_ADDR}<br>\n";
print "      REQUEST_METHOD = $ENV{REQUEST_METHOD}<br>\n";
print "    </p>\n";
print "\n";
print "    <h2>Non-CGI variables provided by the WN server:</h2>\n";
print "\n";
print "    <p>\n";
print "      URL_SCHEME = $ENV{URL_SCHEME}<br>\n";
print "      DOCUMENT_ROOT = $ENV{DOCUMENT_ROOT}<br>\n";
print "      WN_DIR_PATH = $ENV{WN_DIR_PATH}<br>\n";
print "      HTTP_POST_FILE = $ENV{HTTP_POST_FILE}<br>\n";
print "      HTTP_PUT_FILE = $ENV{HTTP_POST_FILE}<br>\n";
print "    </p>\n";
print "  </body>\n";
print "</html>\n";
exit(0);