[3320] | 1 | <html><head><title>CGI Command line options</title></head><body><h1><img alt="" src="cl_files/CGIlogo.gif"> CGI Command line options</h1>
|
---|
| 2 | <hr> <p>
|
---|
| 3 |
|
---|
| 4 | </p><h2>Specification</h2>
|
---|
| 5 |
|
---|
| 6 | The command line is only used in the case of an ISINDEX query. It is
|
---|
| 7 | not used in the case of an HTML form or any as yet undefined query
|
---|
| 8 | type. The server should search the query information (the <code>QUERY_STRING</code> environment variable) for a non-encoded
|
---|
| 9 | = character to determine if the command line is to be used, if it
|
---|
| 10 | finds one, the command line is not to be used. This trusts the clients
|
---|
| 11 | to encode the = sign in ISINDEX queries, a practice which was
|
---|
| 12 | considered safe at the time of the design of this specification. <p>
|
---|
| 13 |
|
---|
| 14 | For example, use the <a href="http://hoohoo.ncsa.uiuc.edu/cgi-bin/finger">finger script</a> and the ISINDEX interface to look up "httpd". You will see that the script will call itself with <code>/cgi-bin/finger?httpd</code> and will actually execute "finger httpd" on the command line and output the results to you.
|
---|
| 15 | </p><p>
|
---|
| 16 | If the server does find a "=" in the <code>QUERY_STRING</code>,
|
---|
| 17 | then the command line will not be used, and no decoding will be
|
---|
| 18 | performed. The query then remains intact for processing by an
|
---|
| 19 | appropriate FORM submission decoder.
|
---|
| 20 | Again, as an example, use <a href="http://hoohoo.ncsa.uiuc.edu/cgi-bin/finger?httpd=name">this hyperlink</a> to submit <code>"httpd=name"</code> to the finger script. Since this <code>QUERY_STRING</code>
|
---|
| 21 | contained an unencoded "=", nothing was decoded, the script didn't know
|
---|
| 22 | it was being submitted a valid query, and just gave you the default
|
---|
| 23 | finger form.
|
---|
| 24 | </p><p>
|
---|
| 25 | If the server finds that it cannot send the string due to internal
|
---|
| 26 | limitations (such as exec() or /bin/sh command line restrictions) the
|
---|
| 27 | server should include NO command line information and provide the
|
---|
| 28 | non-decoded query information in the environment
|
---|
| 29 | variable <a href="http://hoohoo.ncsa.uiuc.edu/cgi/env.html#query"><code>QUERY_STRING</code></a>. </p><p>
|
---|
| 30 | </p><hr>
|
---|
| 31 | <h2>Examples</h2>
|
---|
| 32 |
|
---|
| 33 | Examples of the command line usage are much better <a href="http://hoohoo.ncsa.uiuc.edu/cgi/examples.html">demonstrated</a> than explained. For these
|
---|
| 34 | examples, pay close attention to the script output which says what
|
---|
| 35 | argc and argv are. <p>
|
---|
| 36 |
|
---|
| 37 | </p><hr>
|
---|
| 38 |
|
---|
| 39 | <a href="http://hoohoo.ncsa.uiuc.edu/cgi/interface.html"><img alt="[Back]" src="cl_files/back.gif">Return to the
|
---|
| 40 | interface specification</a> <p>
|
---|
| 41 |
|
---|
| 42 | CGI - Common Gateway Interface
|
---|
| 43 | </p><address><a href="http://hoohoo.ncsa.uiuc.edu/cgi/mailtocgi.html">cgi@ncsa.uiuc.edu</a></address>
|
---|
| 44 |
|
---|
| 45 |
|
---|
| 46 | </body></html>
|
---|