[Tutor] Testing CGI scripts offline
Kalle Svensson
kalle@gnupung.net
Thu, 18 Jan 2001 00:13:49 +0100
--3MwIy2ne0vdjdPXF
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Sez Sean 'Shaleh' Perry:
>=20
> On 16-Jan-2001 Jack Green wrote:
> > Hi Guys,
> >=20
> > Just wondering if theres any way i can use my home PC to test my CGI py=
thon=20
> > scripts, I'm sure theres a way to do it but i cant find one..
> >=20
I'm just going to expand on these:
> a) many cgi can be run from a prompt, if given the right info
One way (The Way, most likely) to ensure a script is given the right info is
setting the correct environment variables. One to test is QUERY_STRING.
The value of QUERY_STRING is parsed for HTTP GET requests to CGI scripts,
and the standard library module cgi understands it. The format is simple:
"key1=3Dvalue&key2=3Dvalue&key3=3Dvalue"
Thus, in a DOS shell (or whatever it's called in NT):
c:\myscripts> set QUERY_STRING=3D"test_input=3Dfoo&checkbox1=3Dfish"
c:\myscripts> python myformparse.py
Content-type: text/html
<html>
<head>
<title>Test cgi</title>
</head>
<body>
<p>
The value of the input field test_input is: "foo"<br>
The checkbox checkbox1 with value "fish" was checked.<br>
</p>
</body>
</html>
Of course assuming your cgi script generates such an output on that input.
I hope you get the general idea.
If you're on a UNIX machine, the commands are pretty much the same, a bit
depending on your shell. On a Mac, I have no idea.
> b) install a web server locally.
Personal Web Server for Windows comes "free" with Windows 9x, but might be
tricky to find and I don't know how it handles CGI. Apache is available
both for Windows and UNIX. There are others.
Good luck!
HTH,
Kalle
--=20
Email: kalle@gnupung.net | You can tune a filesystem, but you
Web: http://www.gnupung.net/ | can't tune a fish. -- man tunefs(8)
PGP fingerprint: 0C56 B171 8159 327F 1824 F5DE 74D7 80D7 BF3B B1DD
--3MwIy2ne0vdjdPXF
Content-Type: application/pgp-signature
Content-Disposition: inline
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.4 (GNU/Linux)
Comment: For info see http://www.gnupg.org
iD8DBQE6ZictdNeA1787sd0RAhjQAKDLPa0O/LhXiUHqZI7e6UBNkUZdvQCgnqkc
ukLMZPu/Baaz+mnSEnuSINM=
=TVQY
-----END PGP SIGNATURE-----
--3MwIy2ne0vdjdPXF--