SYNOPSIS<submit [options] URL=$theURL [var=value ...]>
DESCRIPTION
The submit
function submits an HTML form, i.e. as a Web
browser would. The given URL is fetched, using the HTTP POST
method (or its equivalent for non-HTTP URLs). The submission will
include the (optional) list of variables given, URL encoded.
Multi-valued variables will have each of their values sent as a
separate value, e.g. for a multi-value SELECT
box on a form.
Options that may be set before the variables are:
URL=$theURL
The URL to fetch; required. Note that if it contains a query
string it will be replaced by the given variables list if
the METHOD
is GET
or HEAD
.METHOD=$method
The HTTP method to use (or its equivalent if a non-HTTP URL is
given). The default is POST
. The $method
may be
one of OPTIONS
, GET
, HEAD
, POST
,
PUT
, DELETE
, TRACE
, MKDIR
or
RENAME
. Note that not all web servers support all methods;
most implement only GET
, HEAD
and POST
reliably. Consult an HTTP reference, such as RFC 2068, for
details on these methods. Note that for FTP URLs, only
GET
, PUT
and DELETE
are supported. For
Gopher URLs, the method is irrelevant. Other protocols may not
support all methods, or may map some methods to an equivalent
action.DATA=$data
The raw data to send. This is generally required for FTP URLs
with the PUT
method, and in conjunction with
CONTENT-TYPE
is useful in specifying an alternate content
for HTTP submissions. Note that content is only sent for the
methods POST
, PUT
, DELETE
and OPTIONS
.
Supersedes FROMFILE
and the variable list, if any. Added
in version 2.1.900648000 19980717.FROMFILE=$file
The name of the file to send as content. This is useful when
sending a large file via FTP, which may not fit in memory if read
separately and sent as a DATA
buffer. If the $file
is "-
" (dash), the standard input is sent instead; this
is only valid for non-CGI (command-line) scripts. The
FROMFILE
option was added in version 2.6.938460000 19990927.TOFILE=$file
The name of the file to save the content to. This is useful when
receiving a large file via FTP which may not fit in memory as
$ret
. If the $file
is "-
" (dash), the
content is written to the standard output of the script. Note
that setting TOFILE
will cause the usual output document
returned via $ret
to be empty, and any output-derived
fields obtainable via urlinfo
such as links, formatted
document, etc. will be unavailable. Added in version
2.6.938460000 19990927.CONTENT-TYPE=$type
Specify the content-type of the data given with DATA
. The
default is none, or "application/x-www-form-urlencoded
"
if variables are given directly. Added in version 2.1.900648000 19980717.
DIAGNOSTICSsubmit
returns the raw document fetched.
EXAMPLE
The following HTML form found on a web site:
<FORM METHOD=post ACTION=http://www.xyz.com/cgi-bin/prog>
Name: <INPUT NAME=Name>
Colors: <INPUT TYPE=checkbox NAME=Color VALUE=red>red
<INPUT TYPE=checkbox NAME=Color VALUE=blue>blue
<INPUT TYPE=checkbox NAME=Color VALUE=green>green
<INPUT TYPE=submit>
</FORM>
could be submitted to in Vortex as follows:
<$mycolors = "red" "green">
<submit METHOD=POST URL=http://www.xyz.com/cgi-bin/prog
Name="Joe Bob"
Color=$mycolors>
CAVEATS
The submit
function was added Sep. 17 1996. Support for FTP
was added in June 1998, and Gopher in version 2.6.938200000 19990924.
In versions prior to 3.0.949000000 20000127, or if
<urlcp dnsmode sys>
is set, domain name resolution may exceed
the <urlcp timeout>
setting (due to C lib constraints).
Any query string already present in the given URL will necessarily
be stripped if the METHOD
is GET
and one or more
variables are given.
If TOFILE
is given, the normal output returned via $ret
is empty, and content-derived fields such as links, formatted text, etc.
obtainable with urlinfo
are unavailable.
This is because the (potentially large) data being received is sent
directly to a file without processing.