dwww Home | Manual pages | Find package

CURLOPT_REDIR_PROTOCOLS(3) curl_easy_setopt options CURLOPT_REDIR_PROTOCOLS(3)

NAME
       CURLOPT_REDIR_PROTOCOLS - protocols allowed to redirect to

SYNOPSIS
       #include <curl/curl.h>

       CURLcode curl_easy_setopt(CURL *handle, CURLOPT_REDIR_PROTOCOLS, long bitmask);

DESCRIPTION
       Pass  a long that holds a bitmask of CURLPROTO_* defines. If used, this
       bitmask limits what protocols libcurl may use in  a  transfer  that  it
       follows  to  in  a  redirect when CURLOPT_FOLLOWLOCATION(3) is enabled.
       This allows you to limit specific transfers to only be allowed to use a
       subset of protocols in redirections.

       Protocols denied by CURLOPT_PROTOCOLS(3) are not overridden by this op-
       tion.

       By default libcurl will allow HTTP, HTTPS, FTP  and  FTPS  on  redirect
       (7.65.2).   Older versions of libcurl allowed all protocols on redirect
       except several disabled for security reasons: Since 7.19.4 FILE and SCP
       are  disabled,  and  since 7.40.0 SMB and SMBS are also disabled. CURL-
       PROTO_ALL enables all protocols on redirect, including  those  disabled
       for security.

       These are the available protocol defines:
       CURLPROTO_DICT
       CURLPROTO_FILE
       CURLPROTO_FTP
       CURLPROTO_FTPS
       CURLPROTO_GOPHER
       CURLPROTO_HTTP
       CURLPROTO_HTTPS
       CURLPROTO_IMAP
       CURLPROTO_IMAPS
       CURLPROTO_LDAP
       CURLPROTO_LDAPS
       CURLPROTO_POP3
       CURLPROTO_POP3S
       CURLPROTO_RTMP
       CURLPROTO_RTMPE
       CURLPROTO_RTMPS
       CURLPROTO_RTMPT
       CURLPROTO_RTMPTE
       CURLPROTO_RTMPTS
       CURLPROTO_RTSP
       CURLPROTO_SCP
       CURLPROTO_SFTP
       CURLPROTO_SMB
       CURLPROTO_SMBS
       CURLPROTO_SMTP
       CURLPROTO_SMTPS
       CURLPROTO_TELNET
       CURLPROTO_TFTP

DEFAULT
       HTTP, HTTPS, FTP and FTPS (Added in 7.65.2).

       Older  versions  defaulted  to all protocols except FILE, SCP and since
       7.40.0 SMB and SMBS.

PROTOCOLS
       All

EXAMPLE
       curl = curl_easy_init();
       if(curl) {
         /* pass in the URL from an external source */
         curl_easy_setopt(curl, CURLOPT_URL, argv[1]);

         /* only allow redirects to HTTP and HTTPS URLs */
         curl_easy_setopt(curl, CURLOPT_REDIR_PROTOCOLS,
                          CURLPROTO_HTTP | CURLPROTO_HTTPS);

         /* Perform the request */
         curl_easy_perform(curl);
       }

AVAILABILITY
       Added in 7.19.4, before then it would follow all protocols.

RETURN VALUE
       Returns CURLE_OK if the option is supported,  and  CURLE_UNKNOWN_OPTION
       if not.

SEE ALSO
       CURLOPT_PROTOCOLS(3),

libcurl 7.81.0                 November 26, 2021    CURLOPT_REDIR_PROTOCOLS(3)

Generated by dwww version 1.14 on Thu Jan 23 06:25:29 CET 2025.