On Wed, 16 Jan 2013, Yves Arrouye wrote:
This is because you've explicitly told curl with -X that you want a POST to
be used. Why would you do that if you don't want that?
I do want a POST. Curl did POST to the first URL, and got a 303. It then
says (and that matches its man page for -L) that because it got a 303 it
will then do a GET to the new location. It seems to still do a POST though.
What would be the options that would make curl do a POST first and then a
GET on the 303?
I guess I wasn't clear enough then: drop the -X POST. It is what destroys your
command. You hardly ever truly want to use -X.
As for the redundant -H, it is there because I am using HTTP MAC and HTTP
MAC requires that the host be encoded from the Host header.
Are you talking about using a modified libcurl in which you've added support
for another HTTP authentication method? Last time I checked there's no "HTTP
MAC" in libcurl.
I thought about defaulting to the host from the connection in my code but
decided I would rather require a Host header. Can I always rely on
conn->allocptr.host being set at the time one generates an Authorization
header? If so I'll switch to that.
If you're writing code that wants the host name, you should not get it off the
"host header" in my opinion. And if you still have a solid reason for wanting
this, then you should still fix the code to do right rather than weirdly
enforcing the user to set the Host: header...
--
/ daniel.haxx.se
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html