Posted By: Anonymous
How can I send/post an xml file to a local server http://localhost:8080 using curl from the command line?
What command should I use?
If that question is connected to your other Hudson questions use the command they provide. This way with XML from the command line:
$ curl -X POST -d '<run>...</run>' http://user:[email protected]:myport/path/of/url
You need to change it a little bit to read from a file:
$ curl -X POST -d @myfilename http://user:[email protected]:myport/path/of/url
Read the manpage. following an abstract for -d Parameter.
(HTTP) Sends the specified data in a
POST request to the HTTP server, in
the same way that a browser does when
a user has filled in an HTML form and
presses the submit button. This will
cause curl to pass the data to the
server using the content-type
Compare to -F/–form.
-d/–data is the same as –data-ascii. To post data purely binary, you should
instead use the –data-binary option.
To URL-encode the value of a form
field you may use –data-urlencode.
If any of these options is used more
than once on the same command line,
the data pieces specified will be
merged together with a separating
&-symbol. Thus, using ‘-d name=daniel
-d skill=lousy’ would generate a post chunk that looks like
If you start the data with the letter
@, the rest should be a file name to
read the data from, or – if you want
curl to read the data from stdin. The
contents of the file must already be
URL-encoded. Multiple files can also
be specified. Posting data from a file
named ‘foobar’ would thus be done with