blob: 91f3b5a9a3f22407caa3999db228803566b51158 [file] [log] [blame]
.\" **************************************************************************
.\" * _ _ ____ _
.\" * Project ___| | | | _ \| |
.\" * / __| | | | |_) | |
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
.\" * Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
.\" * are also available at https://curl.se/docs/copyright.html.
.\" *
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
.\" * copies of the Software, and permit persons to whom the Software is
.\" * furnished to do so, under the terms of the COPYING file.
.\" *
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
.\" * KIND, either express or implied.
.\" *
.\" * SPDX-License-Identifier: curl
.\" *
.\" **************************************************************************
.\"
.TH CURLOPT_PROXYTYPE 3 "17 Jun 2014" libcurl libcurl
.SH NAME
CURLOPT_PROXYTYPE \- proxy protocol type
.SH SYNOPSIS
.nf
#include <curl/curl.h>
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYTYPE, long type);
.fi
.SH DESCRIPTION
Pass one of the values below to set the type of the proxy.
.RS
.IP CURLPROXY_HTTP
HTTP Proxy. Default.
.IP CURLPROXY_HTTPS
HTTPS Proxy using HTTP/1. (Added in 7.52.0 for OpenSSL and GnuTLS. Since
7.87.0, it also works for BearSSL, mbedTLS, rustls, Schannel, Secure Transport
and wolfSSL.)
.IP CURLPROXY_HTTPS2
HTTPS Proxy and attempt to speak HTTP/2 over it. (Added in 8.1.0)
.IP CURLPROXY_HTTP_1_0
HTTP 1.0 Proxy. This is similar to CURLPROXY_HTTP except it uses HTTP/1.0 for
any CONNECT tunneling. It does not change the HTTP version of the actual HTTP
requests, controlled by \fICURLOPT_HTTP_VERSION(3)\fP.
.IP CURLPROXY_SOCKS4
SOCKS4 Proxy.
.IP CURLPROXY_SOCKS4A
SOCKS4a Proxy. Proxy resolves URL hostname.
.IP CURLPROXY_SOCKS5
SOCKS5 Proxy.
.IP CURLPROXY_SOCKS5_HOSTNAME
SOCKS5 Proxy. Proxy resolves URL hostname.
.RE
Often it is more convenient to specify the proxy type with the scheme part of
the \fICURLOPT_PROXY(3)\fP string.
.SH DEFAULT
CURLPROXY_HTTP
.SH PROTOCOLS
Most
.SH EXAMPLE
.nf
int main(void)
{
CURL *curl = curl_easy_init();
if(curl) {
CURLcode ret;
curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/");
curl_easy_setopt(curl, CURLOPT_PROXY, "local.example.com:1080");
/* set the proxy type */
curl_easy_setopt(curl, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
ret = curl_easy_perform(curl);
curl_easy_cleanup(curl);
}
}
.fi
.SH AVAILABILITY
Always
.SH RETURN VALUE
Returns CURLE_OK
.SH "SEE ALSO"
.BR CURLOPT_PROXY (3),
.BR CURLOPT_PROXYPORT (3)