easy:SetOpt_CustomRequest(request)
When you change the request method by setting #CURLOPT_CUSTOMREQUEST
to something, you don't actually change how libcurl behaves or acts in regards
to the particular request method, it will only change the actual string sent
in the request.
Restore to the internal default by setting this to Nil
.
This option can be used to specify the request:
HTTP
For example:
When you tell libcurl to do a HEAD request, but then specify a GET though a
custom request libcurl will still act as if it sent a HEAD. To switch to a
proper HEAD use #CURLOPT_NOBODY
, to switch to a proper POST use
#CURLOPT_POST
or #CURLOPT_POSTFIELDS
and to switch to a proper
GET use #CURLOPT_HTTPGET
.
Many people have wrongly used this option to replace the entire request with
their own, including multiple headers and POST contents. While that might work
in many cases, it will cause libcurl to send invalid requests and it could
possibly confuse the remote server badly. Use #CURLOPT_POST
and
#CURLOPT_POSTFIELDS
to get POST data. Use #CURLOPT_HTTPHEADER
to replace or extend the get of headers sent by libcurl. Use
#CURLOPT_HTTP_VERSION
to change HTTP version.
FTP
IMAP
POP3
For example:
When you tell libcurl to use a custom request it will behave like a LIST or
RETR command was sent where it expects data to be returned by the server. As
such #CURLOPT_NOBODY
should be used when specifying commands such as
DELE and NOOP for example.
SMTP
For example:
Normally a multiline response is returned which can be used, in conjunction
with #CURLOPT_MAIL_RCPT
, to specify an EXPN request. If the
#CURLOPT_NOBODY
option is specified then the request can be used to
issue NOOP and RSET commands.