The -X
option in curl is used to specify a custom request method to be used when communicating with the HTTP server. The specified request will be used instead of the method otherwise used (which defaults to GET
). This is useful for methods like PUT
, DELETE
, PATCH
, and others.
Here's a simple example using curl with -X
option:
curl -X POST http://example.com
In this example, we're making a POST
request to http://example.com
instead of the usual GET
request.
It's important to remember that -X
does not change the semantics of the rest of the command line. For example, curl -X PUT -d "data" http://example.com will still send data in the body of the request, even though PUT
requests typically don't contain a body.
Also, note that -X
doesn't change what curl sends, it changes what curl says it sends. The server doesn't have to obey the specified method; it's up to the server to handle the request appropriately.
One more thing to consider is that -X
is not needed if you're using -d
or -F
since POST
method will be used by default.
curl -d "param1=value1¶m2=value2" http://example.com
This command will automatically use POST
method even without specifying -X POST
.