The functions curl_version() and curl_options() show the available
features, protocols and options supported by the local version of libcurl.
You can use curl_options_table() to lookup the type for each
option: most options take a string, number, or TRUE/FALSE value, but some
options need a special enum/bitmask value: these are listed in the sections below.
Details
Several curl options take an enum or bitmask value, for which the libcurl manual pages give symbolic names. These constants are exported as R variables, so you can copy such values literally from the libcurl documentation:
h <- new_handle()
handle_setopt(h, http_version = CURL_HTTP_VERSION_1_1)
handle_setopt(h, httpauth = CURLAUTH_NEGOTIATE)For bitmask options, each constant is a single distinct bit, so where the
libcurl documentation combines flags with |, you can simply add them up:
handle_setopt(h, httpauth = CURLAUTH_BASIC + CURLAUTH_DIGEST)
handle_setopt(h, altsvc_ctrl = CURLALTSVC_H1 + CURLALTSVC_H2)Note that a few wide bitmasks such as CURLAUTH_ANY exceed the range of
R integers and are therefore stored as doubles, holding the exact same
numeric value as their C counterparts.
The sections below list the supported options with their values, in the
same order as the corresponding libcurl manual pages. As usual with
handle_setopt(), the R option name is the CURLOPT_ constant, lowercase
and without the prefix, e.g. CURLOPT_HTTPAUTH becomes httpauth.
CURLOPT_ALTSVC_CTRL
Bitmask to enable Alt-Svc support, see https://curl.se/libcurl/c/CURLOPT_ALTSVC_CTRL.html.
CURLALTSVC_H1: accept alternative services offered over HTTP/1.1CURLALTSVC_H2: accept alternative services offered over HTTP/2CURLALTSVC_H3: accept alternative services offered over HTTP/3CURLALTSVC_READONLYFILE: do not write the alt-svc cache back to the file
CURLOPT_FOLLOWLOCATION
In addition to classic TRUE/FALSE, libcurl >= 8.13 supports these
modes, see https://curl.se/libcurl/c/CURLOPT_FOLLOWLOCATION.html.
CURLFOLLOW_ALL: follow redirects (same asTRUE)CURLFOLLOW_OBEYCODE: follow redirects, but do not use the custom method in the follow-up request when the HTTP code (301, 302, 303) instructs soCURLFOLLOW_FIRSTONLY: only use the custom method in the first request, always reset it in the next
CURLOPT_FTP_CREATE_MISSING_DIRS
See https://curl.se/libcurl/c/CURLOPT_FTP_CREATE_MISSING_DIRS.html.
CURLFTP_CREATE_DIR_NONE: do not create missing directoriesCURLFTP_CREATE_DIR: create a missing directory, fail if that does not workCURLFTP_CREATE_DIR_RETRY: retry the CWD command again if the directory could not be created, in case it was created by a third party in the meantime
CURLOPT_FTP_FILEMETHOD
Select how to reach a file on an FTP(S) server, see https://curl.se/libcurl/c/CURLOPT_FTP_FILEMETHOD.html.
CURLFTPMETHOD_DEFAULT: let libcurl pick (same asMULTICWD)CURLFTPMETHOD_MULTICWD: aCWDcommand for each path partCURLFTPMETHOD_NOCWD: noCWDat all, use the full path in every commandCURLFTPMETHOD_SINGLECWD: oneCWDwith the full target directory
CURLOPT_FTP_SSL_CCC
Clear Command Channel mode, see https://curl.se/libcurl/c/CURLOPT_FTP_SSL_CCC.html.
CURLFTPSSL_CCC_NONE: do not attempt to shut down the SSL/TLS layerCURLFTPSSL_CCC_PASSIVE: do not initiate the shutdown, wait for the serverCURLFTPSSL_CCC_ACTIVE: initiate the shutdown ourselves
CURLOPT_FTPSSLAUTH
Order in which to attempt TLS vs SSL when upgrading an FTP connection, see https://curl.se/libcurl/c/CURLOPT_FTPSSLAUTH.html.
CURLFTPAUTH_DEFAULT: let libcurl decideCURLFTPAUTH_SSL: tryAUTH SSLfirstCURLFTPAUTH_TLS: tryAUTH TLSfirst
CURLOPT_GSSAPI_DELEGATION
See https://curl.se/libcurl/c/CURLOPT_GSSAPI_DELEGATION.html.
CURLGSSAPI_DELEGATION_NONE: no delegation (default)CURLGSSAPI_DELEGATION_POLICY_FLAG: delegate if the OK-AS-DELEGATE flag is set in the service ticketCURLGSSAPI_DELEGATION_FLAG: unconditionally allow delegation
CURLOPT_HEADEROPT
How to send custom headers to a proxy, see https://curl.se/libcurl/c/CURLOPT_HEADEROPT.html.
CURLHEADER_UNIFIED: the headers set withhttpheaderare also sent to the proxyCURLHEADER_SEPARATE: only headers set withproxyheaderare sent to the proxy
CURLOPT_HSTS_CTRL
Bitmask to enable HSTS (HTTP Strict Transport Security), see https://curl.se/libcurl/c/CURLOPT_HSTS_CTRL.html.
CURLHSTS_ENABLE: enable the in-memory HSTS cacheCURLHSTS_READONLYFILE: do not write the HSTS cache back to the file
CURLOPT_HTTP_VERSION
Preferred HTTP protocol version, see https://curl.se/libcurl/c/CURLOPT_HTTP_VERSION.html.
CURL_HTTP_VERSION_NONE: no preference, let libcurl choose (default)CURL_HTTP_VERSION_1_0: enforce HTTP 1.0CURL_HTTP_VERSION_1_1: enforce HTTP 1.1CURL_HTTP_VERSION_2_0: attempt HTTP 2, fall back to HTTP 1.1 (CURL_HTTP_VERSION_2is an alias)CURL_HTTP_VERSION_2TLS: attempt HTTP 2 for HTTPS only, HTTP 1.1 otherwiseCURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE: use HTTP 2 without HTTP/1.1 UpgradeCURL_HTTP_VERSION_3: attempt HTTP 3, fall back to earlier versionsCURL_HTTP_VERSION_3ONLY: use HTTP 3 or fail
CURLOPT_HTTPAUTH
Bitmask of HTTP authentication methods libcurl may use, see
https://curl.se/libcurl/c/CURLOPT_HTTPAUTH.html. The same values apply
to proxyauth
(CURLOPT_PROXYAUTH).
CURLAUTH_NONE: no authenticationCURLAUTH_BASIC: HTTP Basic authentication (default)CURLAUTH_DIGEST: HTTP Digest authenticationCURLAUTH_DIGEST_IE: HTTP Digest authentication with an IE flavorCURLAUTH_BEARER: HTTP Bearer token (OAuth 2.0) authenticationCURLAUTH_NEGOTIATE: HTTP Negotiate (SPNEGO) authentication (CURLAUTH_GSSAPIis an alias)CURLAUTH_NTLM: HTTP NTLM authenticationCURLAUTH_AWS_SIGV4: HTTP AWS V4 signature authenticationCURLAUTH_ANY: all supported methods, libcurl picks the most secureCURLAUTH_ANYSAFE: all supported methods except BasicCURLAUTH_ONLY: modifier bit: use only the method set alongside it, e.g.CURLAUTH_ONLY + CURLAUTH_DIGEST
CURLOPT_IPRESOLVE
See https://curl.se/libcurl/c/CURLOPT_IPRESOLVE.html.
CURL_IPRESOLVE_WHATEVER: resolve to any IP version (default)CURL_IPRESOLVE_V4: only use IPv4 addressesCURL_IPRESOLVE_V6: only use IPv6 addresses
CURLOPT_MIME_OPTIONS
See https://curl.se/libcurl/c/CURLOPT_MIME_OPTIONS.html.
CURLMIMEOPT_FORMESCAPE: backslash-escape quotes and backslashes in multipart form field and file names
CURLOPT_NETRC
Whether to read credentials from the .netrc file, see
https://curl.se/libcurl/c/CURLOPT_NETRC.html.
CURL_NETRC_IGNORED: ignore the netrc file (default)CURL_NETRC_OPTIONAL: use the netrc file, but credentials in the URL take precedenceCURL_NETRC_REQUIRED: only use the netrc file, ignore credentials in the URL
CURLOPT_POSTREDIR
Bitmask of redirect codes after which a POST must remain a POST, see https://curl.se/libcurl/c/CURLOPT_POSTREDIR.html.
CURL_REDIR_POST_301: keep the POST method after a 301 redirectCURL_REDIR_POST_302: keep the POST method after a 302 redirectCURL_REDIR_POST_303: keep the POST method after a 303 redirectCURL_REDIR_POST_ALL: all of the aboveCURL_REDIR_GET_ALL: convert to GET on all redirects (default)
CURLOPT_PROXYTYPE
Type of the proxy set with proxy, see
https://curl.se/libcurl/c/CURLOPT_PROXYTYPE.html.
CURLPROXY_HTTP: HTTP proxy (default)CURLPROXY_HTTPS: HTTPS proxy using HTTP/1.xCURLPROXY_HTTPS2: HTTPS proxy, attempt HTTP/2CURLPROXY_HTTP_1_0: HTTP proxy, force HTTP 1.0CURLPROXY_SOCKS4: SOCKS4 proxyCURLPROXY_SOCKS4A: SOCKS4a proxy, proxy resolves the hostnameCURLPROXY_SOCKS5: SOCKS5 proxyCURLPROXY_SOCKS5_HOSTNAME: SOCKS5 proxy, proxy resolves the hostname
CURLOPT_SOCKS5_AUTH
Bitmask of allowed methods for SOCKS5 proxy authentication, see
https://curl.se/libcurl/c/CURLOPT_SOCKS5_AUTH.html: CURLAUTH_BASIC
(username/password), CURLAUTH_GSSAPI and CURLAUTH_NONE.
CURLOPT_SSH_AUTH_TYPES
Bitmask of authentication types for SFTP/SCP connections, see https://curl.se/libcurl/c/CURLOPT_SSH_AUTH_TYPES.html.
CURLSSH_AUTH_PUBLICKEY: public/private key filesCURLSSH_AUTH_PASSWORD: passwordCURLSSH_AUTH_HOST: host key filesCURLSSH_AUTH_KEYBOARD: keyboard interactiveCURLSSH_AUTH_AGENT: ssh-agentCURLSSH_AUTH_GSSAPI: gssapi (kerberos, ...)CURLSSH_AUTH_ANY: any method (default,CURLSSH_AUTH_DEFAULTis an alias)CURLSSH_AUTH_NONE: no allowed methods
CURLOPT_SSL_OPTIONS
Bitmask of SSL behavior options, see
https://curl.se/libcurl/c/CURLOPT_SSL_OPTIONS.html. The same values
apply to proxy_ssl_options
(CURLOPT_PROXY_SSL_OPTIONS).
CURLSSLOPT_ALLOW_BEAST: allow the BEAST SSL vulnerability for interoperability reasonsCURLSSLOPT_NO_REVOKE: disable certificate revocation checks (Schannel)CURLSSLOPT_NO_PARTIALCHAIN: do not accept partial certificate chainsCURLSSLOPT_REVOKE_BEST_EFFORT: ignore revocation check failures due to missing/offline distribution points (Schannel)CURLSSLOPT_NATIVE_CA: use the operating system's native CA storeCURLSSLOPT_AUTO_CLIENT_CERT: automatically locate and use a client certificate for authentication (Schannel)
CURLOPT_SSLVERSION
Preferred TLS/SSL version, see
https://curl.se/libcurl/c/CURLOPT_SSLVERSION.html. The same values apply
to proxy_sslversion
(CURLOPT_PROXY_SSLVERSION).
CURL_SSLVERSION_DEFAULT: default, currently the minimum is TLS v1.0CURL_SSLVERSION_TLSv1: TLS v1.0 or laterCURL_SSLVERSION_TLSv1_0: TLS v1.0 or laterCURL_SSLVERSION_TLSv1_1: TLS v1.1 or laterCURL_SSLVERSION_TLSv1_2: TLS v1.2 or laterCURL_SSLVERSION_TLSv1_3: TLS v1.3 or later
The maximum TLS version can be set by adding one of these to the value
above, e.g. CURL_SSLVERSION_TLSv1_1 + CURL_SSLVERSION_MAX_TLSv1_2:
CURL_SSLVERSION_MAX_DEFAULT: the highest supported TLS version (CURL_SSLVERSION_MAX_NONEhas the same effect)CURL_SSLVERSION_MAX_TLSv1_0: at most TLS v1.0CURL_SSLVERSION_MAX_TLSv1_1: at most TLS v1.1CURL_SSLVERSION_MAX_TLSv1_2: at most TLS v1.2CURL_SSLVERSION_MAX_TLSv1_3: at most TLS v1.3
CURLOPT_TIMECONDITION
How to compare the timevalue timestamp, see
https://curl.se/libcurl/c/CURLOPT_TIMECONDITION.html.
CURL_TIMECOND_NONE: no time condition (default)CURL_TIMECOND_IFMODSINCE: only transfer if modified sincetimevalueCURL_TIMECOND_IFUNMODSINCE: only transfer if not modified sincetimevalueCURL_TIMECOND_LASTMOD: (FTP only)
CURLOPT_USE_SSL
Request TLS upgrade for FTP, SMTP, POP3 and IMAP transfers, see https://curl.se/libcurl/c/CURLOPT_USE_SSL.html.
CURLUSESSL_NONE: do not attempt to use SSL (default)CURLUSESSL_TRY: try SSL, proceed as normal otherwiseCURLUSESSL_CONTROL: require SSL for the control connection, or failCURLUSESSL_ALL: require SSL for all communication, or fail
CURLOPT_WS_OPTIONS
Bitmask with websocket behavior options, see https://curl.se/libcurl/c/CURLOPT_WS_OPTIONS.html.
CURLWS_RAW_MODE: deliver raw websocket traffic to the write callbackCURLWS_NOAUTOPONG: disable the automatic reply to PING frames (libcurl >= 8.14)
Other symbols
The sections above cover the option values supported by handle_setopt().
Use curl_symbols() was previously used to lookup the value of any symbol
from the libcurl symbol table, along with the libcurl version in which it was
introduced, deprecated, or removed.
Examples
# Available options
curl_options()
#> abstract_unix_socket accepttimeout_ms
#> 10264 212
#> accept_encoding address_scope
#> 10102 171
#> altsvc altsvc_ctrl
#> 10287 286
#> append autoreferer
#> 50 58
#> aws_sigv4 buffersize
#> 10305 98
#> cainfo cainfo_blob
#> 10065 40309
#> capath ca_cache_timeout
#> 10097 321
#> certinfo chunk_bgn_function
#> 172 20198
#> chunk_data chunk_end_function
#> 10201 20199
#> closesocketdata closesocketfunction
#> 10209 20208
#> connecttimeout connecttimeout_ms
#> 78 156
#> connect_only connect_to
#> 141 10243
#> conv_from_network_function conv_from_utf8_function
#> 20142 20144
#> conv_to_network_function cookie
#> 20143 10022
#> cookiefile cookiejar
#> 10031 10082
#> cookielist cookiesession
#> 10135 96
#> copypostfields crlf
#> 10165 27
#> crlfile curlu
#> 10169 10282
#> customrequest debugdata
#> 10036 10095
#> debugfunction default_protocol
#> 20094 10238
#> dirlistonly disallow_username_in_url
#> 48 278
#> dns_cache_timeout dns_interface
#> 92 10221
#> dns_local_ip4 dns_local_ip6
#> 10222 10223
#> dns_servers dns_shuffle_addresses
#> 10211 275
#> dns_use_global_cache doh_ssl_verifyhost
#> 91 307
#> doh_ssl_verifypeer doh_ssl_verifystatus
#> 306 308
#> doh_url egdsocket
#> 10279 10077
#> errorbuffer expect_100_timeout_ms
#> 10010 227
#> failonerror filetime
#> 45 69
#> fnmatch_data fnmatch_function
#> 10202 20200
#> followlocation forbid_reuse
#> 52 75
#> fresh_connect ftpport
#> 74 10017
#> ftpsslauth ftp_account
#> 129 10134
#> ftp_alternative_to_user ftp_create_missing_dirs
#> 10147 110
#> ftp_filemethod ftp_skip_pasv_ip
#> 138 137
#> ftp_ssl_ccc ftp_use_eprt
#> 154 106
#> ftp_use_epsv ftp_use_pret
#> 85 188
#> gssapi_delegation happy_eyeballs_timeout_ms
#> 210 271
#> haproxyprotocol haproxy_client_ip
#> 274 10323
#> header headerdata
#> 42 10029
#> headerfunction headeropt
#> 20079 229
#> hsts hstsreaddata
#> 10300 10302
#> hstsreadfunction hstswritedata
#> 20301 10304
#> hstswritefunction hsts_ctrl
#> 20303 299
#> http09_allowed http200aliases
#> 285 10104
#> httpauth httpget
#> 107 80
#> httpheader httppost
#> 10023 10024
#> httpproxytunnel http_content_decoding
#> 61 158
#> http_transfer_decoding http_version
#> 157 84
#> ignore_content_length infilesize
#> 136 14
#> infilesize_large interface
#> 30115 10062
#> interleavedata interleavefunction
#> 10195 20196
#> ioctldata ioctlfunction
#> 10131 20130
#> ipresolve issuercert
#> 113 10170
#> issuercert_blob keep_sending_on_error
#> 40295 245
#> keypasswd krblevel
#> 10026 10063
#> localport localportrange
#> 139 140
#> login_options low_speed_limit
#> 10224 19
#> low_speed_time mail_auth
#> 20 10217
#> mail_from mail_rcpt
#> 10186 10187
#> mail_rcpt_allowfails maxage_conn
#> 290 288
#> maxconnects maxfilesize
#> 71 114
#> maxfilesize_large maxlifetime_conn
#> 30117 314
#> maxredirs max_recv_speed_large
#> 68 30146
#> max_send_speed_large mimepost
#> 30145 10269
#> mime_options netrc
#> 315 51
#> netrc_file new_directory_perms
#> 10118 160
#> new_file_perms nobody
#> 159 44
#> noprogress noproxy
#> 43 10177
#> nosignal opensocketdata
#> 99 10164
#> opensocketfunction password
#> 20163 10174
#> path_as_is pinnedpublickey
#> 234 10230
#> pipewait port
#> 237 3
#> post postfields
#> 47 10015
#> postfieldsize postfieldsize_large
#> 60 30120
#> postquote postredir
#> 10039 161
#> prequote prereqdata
#> 10093 10313
#> prereqfunction pre_proxy
#> 20312 10262
#> private progressfunction
#> 10103 20056
#> protocols protocols_str
#> 181 10318
#> proxy proxyauth
#> 10004 111
#> proxyheader proxypassword
#> 10228 10176
#> proxyport proxytype
#> 59 101
#> proxyusername proxyuserpwd
#> 10175 10006
#> proxy_cainfo proxy_cainfo_blob
#> 10246 40310
#> proxy_capath proxy_crlfile
#> 10247 10260
#> proxy_issuercert proxy_issuercert_blob
#> 10296 40297
#> proxy_keypasswd proxy_pinnedpublickey
#> 10258 10263
#> proxy_service_name proxy_sslcert
#> 10235 10254
#> proxy_sslcerttype proxy_sslcert_blob
#> 10255 40293
#> proxy_sslkey proxy_sslkeytype
#> 10256 10257
#> proxy_sslkey_blob proxy_sslversion
#> 40294 250
#> proxy_ssl_cipher_list proxy_ssl_options
#> 10259 261
#> proxy_ssl_verifyhost proxy_ssl_verifypeer
#> 249 248
#> proxy_tls13_ciphers proxy_tlsauth_password
#> 10277 10252
#> proxy_tlsauth_type proxy_tlsauth_username
#> 10253 10251
#> proxy_transfer_mode put
#> 166 54
#> quick_exit quote
#> 322 10028
#> random_file range
#> 10076 10007
#> readdata readfunction
#> 10009 20012
#> redir_protocols redir_protocols_str
#> 182 10319
#> referer request_target
#> 10016 10266
#> resolve resolver_start_data
#> 10203 10273
#> resolver_start_function resume_from
#> 20272 21
#> resume_from_large rtsp_client_cseq
#> 30116 193
#> rtsp_request rtsp_server_cseq
#> 189 194
#> rtsp_session_id rtsp_stream_uri
#> 10190 10191
#> rtsp_transport sasl_authzid
#> 10192 10289
#> sasl_ir seekdata
#> 218 10168
#> seekfunction server_response_timeout
#> 20167 112
#> service_name share
#> 10236 10100
#> sockoptdata sockoptfunction
#> 10149 20148
#> socks5_auth socks5_gssapi_nec
#> 267 180
#> socks5_gssapi_service ssh_auth_types
#> 10179 151
#> ssh_compression ssh_hostkeydata
#> 268 10317
#> ssh_hostkeyfunction ssh_host_public_key_md5
#> 20316 10162
#> ssh_host_public_key_sha256 ssh_keydata
#> 10311 10185
#> ssh_keyfunction ssh_knownhosts
#> 20184 10183
#> ssh_private_keyfile ssh_public_keyfile
#> 10153 10152
#> sslcert sslcerttype
#> 10025 10086
#> sslcert_blob sslengine
#> 40291 10089
#> sslengine_default sslkey
#> 90 10087
#> sslkeytype sslkey_blob
#> 10088 40292
#> sslversion ssl_cipher_list
#> 32 10083
#> ssl_ctx_data ssl_ctx_function
#> 10109 20108
#> ssl_ec_curves ssl_enable_alpn
#> 10298 226
#> ssl_enable_npn ssl_falsestart
#> 225 233
#> ssl_options ssl_sessionid_cache
#> 216 150
#> ssl_verifyhost ssl_verifypeer
#> 81 64
#> ssl_verifystatus stderr
#> 232 10037
#> stream_depends stream_depends_e
#> 10240 10241
#> stream_weight suppress_connect_headers
#> 239 265
#> tcp_fastopen tcp_keepalive
#> 244 213
#> tcp_keepidle tcp_keepintvl
#> 214 215
#> tcp_nodelay telnetoptions
#> 121 10070
#> tftp_blksize tftp_no_options
#> 178 242
#> timecondition timeout
#> 33 13
#> timeout_ms timevalue
#> 155 34
#> timevalue_large tls13_ciphers
#> 30270 10276
#> tlsauth_password tlsauth_type
#> 10205 10206
#> tlsauth_username trailerdata
#> 10204 10284
#> trailerfunction transfertext
#> 20283 53
#> transfer_encoding unix_socket_path
#> 207 10231
#> unrestricted_auth upkeep_interval_ms
#> 105 281
#> upload upload_buffersize
#> 46 280
#> url useragent
#> 10002 10018
#> username userpwd
#> 10173 10005
#> use_ssl verbose
#> 119 41
#> wildcardmatch writedata
#> 197 10001
#> writefunction ws_options
#> 20011 320
#> xferinfodata xferinfofunction
#> 10057 20219
#> xoauth2_bearer
#> 10220
# List proxy options
curl_options("proxy")
#> haproxyprotocol haproxy_client_ip httpproxytunnel
#> 274 10323 61
#> noproxy pre_proxy proxy
#> 10177 10262 10004
#> proxyauth proxyheader proxypassword
#> 111 10228 10176
#> proxyport proxytype proxyusername
#> 59 101 10175
#> proxyuserpwd proxy_cainfo proxy_cainfo_blob
#> 10006 10246 40310
#> proxy_capath proxy_crlfile proxy_issuercert
#> 10247 10260 10296
#> proxy_issuercert_blob proxy_keypasswd proxy_pinnedpublickey
#> 40297 10258 10263
#> proxy_service_name proxy_sslcert proxy_sslcerttype
#> 10235 10254 10255
#> proxy_sslcert_blob proxy_sslkey proxy_sslkeytype
#> 40293 10256 10257
#> proxy_sslkey_blob proxy_sslversion proxy_ssl_cipher_list
#> 40294 250 10259
#> proxy_ssl_options proxy_ssl_verifyhost proxy_ssl_verifypeer
#> 261 249 248
#> proxy_tls13_ciphers proxy_tlsauth_password proxy_tlsauth_type
#> 10277 10252 10253
#> proxy_tlsauth_username proxy_transfer_mode
#> 10251 166
# Curl/ssl version info
curl_version()
#> $version
#> [1] "8.5.0"
#>
#> $headers
#> [1] "8.5.0"
#>
#> $ssl_version
#> [1] "OpenSSL/3.0.13"
#>
#> $libz_version
#> [1] "1.3"
#>
#> $libssh_version
#> [1] "libssh/0.10.6/openssl/zlib"
#>
#> $libidn_version
#> [1] "2.3.7"
#>
#> $host
#> [1] "x86_64-pc-linux-gnu"
#>
#> $protocols
#> [1] "dict" "file" "ftp" "ftps" "gopher" "gophers" "http"
#> [8] "https" "imap" "imaps" "ldap" "ldaps" "mqtt" "pop3"
#> [15] "pop3s" "rtmp" "rtmpe" "rtmps" "rtmpt" "rtmpte" "rtmpts"
#> [22] "rtsp" "scp" "sftp" "smb" "smbs" "smtp" "smtps"
#> [29] "telnet" "tftp"
#>
#> $ipv6
#> [1] TRUE
#>
#> $http2
#> [1] TRUE
#>
#> $idn
#> [1] TRUE
#>
#> $url_parser
#> [1] TRUE
#>
# Set options using symbolic constants
h <- new_handle()
handle_setopt(h, http_version = CURL_HTTP_VERSION_1_1)
handle_setopt(h, httpauth = CURLAUTH_BASIC + CURLAUTH_DIGEST)