W3C home > Mailing lists > Public > www-lib@w3.org > January to March 1998

POST method in ComLine

From: <Linus.Walleij@ecs.ericsson.se>
Date: Fri, 27 Mar 1998 13:24:37 +0100
Message-ID: <81314DE3B27DD0119A7400609719CF4B0134C25F@eseldnt100.ericsson.se>
To: www-lib@w3.org, frystyk@w3.org
Henrik Frystyk Nielsen [frystyk@w3.org] wrote:

> - The command line tool can do HTTP/1.1 PUT, POST, DELETE, OPTIONS,
> TRACE. It can handle special situations like redirections on a PUT,
> More information is available at

Ehrm. I've seen a lot of questions in this list relating to the use of
the POST
command in the command line tool. Users claimed again and again it
work. Why?

The answer is simple: POST isn't implemented in the command line tool.
Just open up the tools source file HTLine.c and scroll down to line 495:

	if (formdata) {
		HTParentAnchor * posted = NULL;
		posted = HTPostFormAnchor(formfields, (HTAnchor *) cl ->
		cl -> request );
		status = posted ? YES : NO;
	} else {

		/* MORE */

		status = NO;

As you can clearly see, the post method is not properly implemented.
Any tries to use it will result in error messages. HOWEVER, there is
a way to use POST, which is obvious if you look at the above code
snippet: the method will be properly called if you provide it with data,
not via file as in the documentation, but via the bogus undocumented
formdata command line option. (You can probably find out it's workings
by examining the source code...)

Thus: POSTing a single CGI environment variable can be done this way:

w3c -form -post http://myserver/mydir/mycgiscript MYCGIVARIABLE=123XYZ

POSTing multiple variables is NOT possible. The bogus formdata option
accepts one variable only. For example I use the following syntax in a
cron job to post data to a remote database using http and POST:

w3c -form -post http://... RECORD=ID#COL1#COL2#COL3#COL4#COL4

Note the use of hash signs (#) as separators. The bogus formdata option
will interpret a comma (,) as field separator or something so it just
work. Use the # instead.

This is not very neat however...

TB/DH Linus Walleij 046 193678 <linus.walleij@ex1.ecs.ericsson.se>
Received on Friday, 27 March 1998 07:27:01 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:33:48 UTC