Name
easy:SetOpt_CustomRequest -- custom string for request
Synopsis
easy:SetOpt_CustomRequest(request)
Function
Pass a string as parameter.

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
Instead of GET or HEAD when performing HTTP based requests. This is particularly useful, for example, for performing an HTTP DELETE request.

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 set POST data. Use #CURLOPT_HTTPHEADER to replace or extend the set of headers sent by libcurl. Use #CURLOPT_HTTP_VERSION to change HTTP version.

FTP
Instead of LIST and NLST when performing FTP directory listings.
IMAP
Instead of LIST when issuing IMAP based requests.
POP3
Instead of LIST and RETR when issuing POP3 based requests.

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
Instead of a HELP or VRFY when issuing SMTP based requests.

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.

Inputs
request
input value

Show TOC