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:pass@myhost:myport/path/of/url
You need to change it a little bit to read from a file:
$ curl -X POST -d @myfilename http://user:pass@myhost:myport/path/of/url
Read the manpage. following an abstract for -d Parameter.
-d/--data
(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
application/x-www-form-urlencoded.
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
'name=daniel&skill=lousy'.
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
--data @foobar.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…