Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

CURLOPT_HSTS_CTRL (3)

Name

CURLOPT_HSTS_CTRL - control HSTS behavior

Synopsis

#include <curl/curl.h>

#define CURLHSTS_ENABLE       (1<<0)
#define CURLHSTS_READONLYFILE (1<<1)

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

Description

CURLOPT_HSTS_CTRL(3)       curl_easy_setopt options       CURLOPT_HSTS_CTRL(3)



NAME
       CURLOPT_HSTS_CTRL - control HSTS behavior

SYNOPSIS
       #include <curl/curl.h>

       #define CURLHSTS_ENABLE       (1<<0)
       #define CURLHSTS_READONLYFILE (1<<1)

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

DESCRIPTION
       HSTS  (HTTP  Strict  Transport Security) means that an HTTPS server can
       instruct the client to not contact it again over clear-text HTTP for  a
       certain  period  into the future. libcurl will then automatically redi-
       rect HTTP attempts to such hosts to instead use HTTPS. This is done  by
       libcurl retaining this knowledge in an in-memory cache.

       Populate  the long bitmask with the correct set of features to instruct
       libcurl how to handle HSTS for the transfers using this handle.

BITS
       CURLHSTS_ENABLE
              Enable the in-memory HSTS cache for this handle.

       CURLHSTS_READONLYFILE
              Make the HSTS file (if specified) read-only - makes libcurl  not
              save the cache to the file when closing the handle.

DEFAULT
       0. HSTS is disabled by default.

PROTOCOLS
       HTTPS and HTTP

EXAMPLE
       CURL *curl = curl_easy_init();
       if(curl) {
         curl_easy_setopt(curl, CURLOPT_HSTS_CTRL, CURLHSTS_ENABLE);
         curl_easy_perform(curl);
       }

AVAILABILITY
       Added in 7.74.0

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


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+------------------+
       |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
       +---------------+------------------+
       |Availability   | web/curl         |
       +---------------+------------------+
       |Stability      | Uncommitted      |
       +---------------+------------------+

SEE ALSO
       CURLOPT_HSTS(3),   CURLOPT_CONNECT_TO(3),   CURLOPT_RESOLVE(3),    CUR-
       LOPT_ALTSVC(3),



NOTES
       Source  code  for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This     software     was    built    from    source    available    at
       https://github.com/oracle/solaris-userland.   The  original   community
       source       was       downloaded      from       https://curl.se/down-
       load/curl-7.83.1.tar.bz2.

       Further information about this software can be found on the open source
       community website at http://curl.haxx.se/.



libcurl 7.83.1                September 06, 2021          CURLOPT_HSTS_CTRL(3)