mirror of
https://github.com/curl/curl.git
synced 2025-01-18 14:04:30 +08:00
CURLOPT_SOCKS_PROXYTYPE: removed
This was added as part of the SOCKS+HTTPS proxy merge but there's no need to support this as we prefer to have the protocol specified as a prefix instead.
This commit is contained in:
parent
558b5f68a6
commit
7907a2bec9
@ -22,16 +22,16 @@
|
|||||||
.\"
|
.\"
|
||||||
.TH CURLOPT_SOCKS_PROXY 3 "16 Nov 2016" "libcurl 7.52.0" "curl_easy_setopt options"
|
.TH CURLOPT_SOCKS_PROXY 3 "16 Nov 2016" "libcurl 7.52.0" "curl_easy_setopt options"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
CURLOPT_SOCKS_PROXY \- set socks proxy to use
|
CURLOPT_SOCKS_PROXY \- set SOCKS proxy to use
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
#include <curl/curl.h>
|
#include <curl/curl.h>
|
||||||
|
|
||||||
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SOCKS_PROXY, char *proxy);
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SOCKS_PROXY, char *proxy);
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
TODO: Make this text specific to HTTPS proxy. (Added in 7.XXX)
|
Set the SOCKS \fIproxy\fP to use for the upcoming request. The parameter
|
||||||
Set the \fIproxy\fP to use for the upcoming request. The parameter should be a
|
should be a char * to a zero terminated string holding the host name or dotted
|
||||||
char * to a zero terminated string holding the host name or dotted numerical
|
numerical IP address. A numerical IPv6 address must be written within
|
||||||
IP address. A numerical IPv6 address must be written within [brackets].
|
[brackets].
|
||||||
|
|
||||||
To specify port number in this string, append :[port] to the end of the host
|
To specify port number in this string, append :[port] to the end of the host
|
||||||
name. The proxy's port number may optionally be specified with the separate
|
name. The proxy's port number may optionally be specified with the separate
|
||||||
@ -42,29 +42,12 @@ The proxy string may be prefixed with [scheme]:// to specify which kind of
|
|||||||
proxy is used. Use socks4://, socks4a://, socks5:// or socks5h:// (the last
|
proxy is used. Use socks4://, socks4a://, socks5:// or socks5h:// (the last
|
||||||
one to enable socks5 and asking the proxy to do the resolving, also known as
|
one to enable socks5 and asking the proxy to do the resolving, also known as
|
||||||
\fICURLPROXY_SOCKS5_HOSTNAME\fP type) to request the specific SOCKS version to
|
\fICURLPROXY_SOCKS5_HOSTNAME\fP type) to request the specific SOCKS version to
|
||||||
be used. No scheme specified or http://, will be treated as HTTP proxies.
|
be used. Otherwise SOCKS4 is used as default.
|
||||||
|
|
||||||
Without a scheme prefix, \fICURLOPT_PROXYTYPE(3)\fP can be used to specify
|
|
||||||
which kind of proxy the string identifies.
|
|
||||||
|
|
||||||
When you tell the library to use a HTTP proxy, libcurl will transparently
|
|
||||||
convert operations to HTTP even if you specify an FTP URL etc. This may have
|
|
||||||
an impact on what other features of the library you can use, such as
|
|
||||||
\fICURLOPT_QUOTE(3)\fP and similar FTP specifics that don't work unless you
|
|
||||||
tunnel through the HTTP proxy. Such tunneling is activated with
|
|
||||||
\fICURLOPT_HTTPPROXYTUNNEL(3)\fP.
|
|
||||||
|
|
||||||
libcurl respects the environment variables \fBhttp_proxy\fP, \fBftp_proxy\fP,
|
|
||||||
\fBall_proxy\fP etc, if any of those are set. The \fICURLOPT_PROXY(3)\fP
|
|
||||||
option does however override any possibly set environment variables.
|
|
||||||
|
|
||||||
Setting the proxy string to "" (an empty string) will explicitly disable the
|
Setting the proxy string to "" (an empty string) will explicitly disable the
|
||||||
use of a proxy, even if there is an environment variable set for it.
|
use of a proxy, even if there is an environment variable set for it.
|
||||||
|
|
||||||
A proxy host string can also include protocol scheme (http://) and embedded
|
|
||||||
user + password.
|
|
||||||
.SH DEFAULT
|
.SH DEFAULT
|
||||||
Default is NULL, meaning no proxy is used.
|
Default is NULL, meaning no socks proxy is used.
|
||||||
|
|
||||||
When you set a host name to use, do not assume that there's any particular
|
When you set a host name to use, do not assume that there's any particular
|
||||||
single port number used widely for proxies. Specify it!
|
single port number used widely for proxies. Specify it!
|
||||||
@ -73,16 +56,10 @@ All except file://. Note that some protocols don't do very well over proxy.
|
|||||||
.SH EXAMPLE
|
.SH EXAMPLE
|
||||||
TODO
|
TODO
|
||||||
.SH AVAILABILITY
|
.SH AVAILABILITY
|
||||||
Since 7.14.1 the proxy environment variable names can include the protocol
|
Added in 7.52.0
|
||||||
scheme.
|
|
||||||
|
|
||||||
Since 7.21.7 the proxy string supports the socks protocols as "schemes".
|
|
||||||
|
|
||||||
Since 7.50.2, unsupported schemes in proxy strings cause libcurl to return
|
|
||||||
error.
|
|
||||||
.SH RETURN VALUE
|
.SH RETURN VALUE
|
||||||
Returns CURLE_OK if proxies are supported, CURLE_UNKNOWN_OPTION if not, or
|
Returns CURLE_OK if proxies are supported, CURLE_UNKNOWN_OPTION if not, or
|
||||||
CURLE_OUT_OF_MEMORY if there was insufficient heap space.
|
CURLE_OUT_OF_MEMORY if there was insufficient heap space.
|
||||||
.SH "SEE ALSO"
|
.SH "SEE ALSO"
|
||||||
.BR CURLOPT_PROXYPORT "(3), " CURLOPT_HTTPPROXYTUNNEL "(3), "
|
.BR CURLOPT_PROXY "(3), " CURLOPT_HTTPPROXYTUNNEL "(3), "
|
||||||
.BR CURLOPT_PROXYTYPE "(3)"
|
|
||||||
|
@ -1,55 +0,0 @@
|
|||||||
.\" **************************************************************************
|
|
||||||
.\" * _ _ ____ _
|
|
||||||
.\" * Project ___| | | | _ \| |
|
|
||||||
.\" * / __| | | | |_) | |
|
|
||||||
.\" * | (__| |_| | _ <| |___
|
|
||||||
.\" * \___|\___/|_| \_\_____|
|
|
||||||
.\" *
|
|
||||||
.\" * Copyright (C) 1998 - 2016, 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.haxx.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.
|
|
||||||
.\" *
|
|
||||||
.\" **************************************************************************
|
|
||||||
.\"
|
|
||||||
.TH CURLOPT_SOCKS_PROXYTYPE 3 "16 Nov 2016" "libcurl 7.52.0" "curl_easy_setopt options"
|
|
||||||
.SH NAME
|
|
||||||
CURLOPT_SOCKS_PROXYTYPE \- socks proxy protocol type
|
|
||||||
.SH SYNOPSIS
|
|
||||||
#include <curl/curl.h>
|
|
||||||
|
|
||||||
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SOCKS_PROXYTYPE, long type);
|
|
||||||
.SH DESCRIPTION
|
|
||||||
TODO: Make this text specific to HTTPS proxy. (Added in 7.XXX)
|
|
||||||
Pass a long with this option to set type of the proxy. Available options for
|
|
||||||
this are \fICURLPROXY_HTTP\fP, \fICURLPROXY_HTTP_1_0\fP
|
|
||||||
\fICURLPROXY_SOCKS4\fP, \fICURLPROXY_SOCKS5\fP, \fICURLPROXY_SOCKS4A\fP and
|
|
||||||
\fICURLPROXY_SOCKS5_HOSTNAME\fP. The HTTP type is default.
|
|
||||||
|
|
||||||
If you set \fICURLOPT_PROXYTYPE(3)\fP to \fICURLPROXY_HTTP_1_0\fP, it will
|
|
||||||
only affect how libcurl speaks to a proxy when CONNECT is used. The HTTP
|
|
||||||
version used for "regular" HTTP requests is instead controlled with
|
|
||||||
\fICURLOPT_HTTP_VERSION(3)\fP.
|
|
||||||
|
|
||||||
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
|
|
||||||
TODO
|
|
||||||
.SH AVAILABILITY
|
|
||||||
Always
|
|
||||||
.SH RETURN VALUE
|
|
||||||
Returns CURLE_OK
|
|
||||||
.SH "SEE ALSO"
|
|
||||||
.BR CURLOPT_PROXY "(3), " CURLOPT_PROXYPORT "(3), "
|
|
@ -270,7 +270,6 @@ man_MANS = \
|
|||||||
CURLOPT_SOCKS5_GSSAPI_NEC.3 \
|
CURLOPT_SOCKS5_GSSAPI_NEC.3 \
|
||||||
CURLOPT_SOCKS5_GSSAPI_SERVICE.3 \
|
CURLOPT_SOCKS5_GSSAPI_SERVICE.3 \
|
||||||
CURLOPT_SOCKS_PROXY.3 \
|
CURLOPT_SOCKS_PROXY.3 \
|
||||||
CURLOPT_SOCKS_PROXYTYPE.3 \
|
|
||||||
CURLOPT_SSH_AUTH_TYPES.3 \
|
CURLOPT_SSH_AUTH_TYPES.3 \
|
||||||
CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3 \
|
CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3 \
|
||||||
CURLOPT_SSH_KEYDATA.3 \
|
CURLOPT_SSH_KEYDATA.3 \
|
||||||
@ -581,7 +580,6 @@ HTMLPAGES = \
|
|||||||
CURLOPT_SOCKS5_GSSAPI_NEC.html \
|
CURLOPT_SOCKS5_GSSAPI_NEC.html \
|
||||||
CURLOPT_SOCKS5_GSSAPI_SERVICE.html \
|
CURLOPT_SOCKS5_GSSAPI_SERVICE.html \
|
||||||
CURLOPT_SOCKS_PROXY.html \
|
CURLOPT_SOCKS_PROXY.html \
|
||||||
CURLOPT_SOCKS_PROXYTYPE.html \
|
|
||||||
CURLOPT_SSH_AUTH_TYPES.html \
|
CURLOPT_SSH_AUTH_TYPES.html \
|
||||||
CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.html \
|
CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.html \
|
||||||
CURLOPT_SSH_KEYDATA.html \
|
CURLOPT_SSH_KEYDATA.html \
|
||||||
@ -892,7 +890,6 @@ PDFPAGES = \
|
|||||||
CURLOPT_SOCKS5_GSSAPI_NEC.pdf \
|
CURLOPT_SOCKS5_GSSAPI_NEC.pdf \
|
||||||
CURLOPT_SOCKS5_GSSAPI_SERVICE.pdf \
|
CURLOPT_SOCKS5_GSSAPI_SERVICE.pdf \
|
||||||
CURLOPT_SOCKS_PROXY.pdf \
|
CURLOPT_SOCKS_PROXY.pdf \
|
||||||
CURLOPT_SOCKS_PROXYTYPE.pdf \
|
|
||||||
CURLOPT_SSH_AUTH_TYPES.pdf \
|
CURLOPT_SSH_AUTH_TYPES.pdf \
|
||||||
CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.pdf \
|
CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.pdf \
|
||||||
CURLOPT_SSH_KEYDATA.pdf \
|
CURLOPT_SSH_KEYDATA.pdf \
|
||||||
|
@ -1766,13 +1766,9 @@ typedef enum {
|
|||||||
/* Name of socks proxy to use. */
|
/* Name of socks proxy to use. */
|
||||||
CINIT(SOCKS_PROXY, STRINGPOINT, 262),
|
CINIT(SOCKS_PROXY, STRINGPOINT, 262),
|
||||||
|
|
||||||
/* indicates type of proxy. accepted values are CURLPROXY_SOCKS4,
|
|
||||||
CURLPROXY_SOCKS4A and CURLPROXY_SOCKS5. */
|
|
||||||
CINIT(SOCKS_PROXYTYPE, LONG, 263),
|
|
||||||
|
|
||||||
/* The public key in DER form used to validate the proxy public key
|
/* The public key in DER form used to validate the proxy public key
|
||||||
this option is used only if PROXY_SSL_VERIFYPEER is true */
|
this option is used only if PROXY_SSL_VERIFYPEER is true */
|
||||||
CINIT(PROXY_PINNEDPUBLICKEY, STRINGPOINT, 264),
|
CINIT(PROXY_PINNEDPUBLICKEY, STRINGPOINT, 263),
|
||||||
|
|
||||||
CURLOPT_LASTENTRY /* the last unused */
|
CURLOPT_LASTENTRY /* the last unused */
|
||||||
} CURLoption;
|
} CURLoption;
|
||||||
|
@ -1490,13 +1490,6 @@ CURLcode Curl_setopt(struct Curl_easy *data, CURLoption option,
|
|||||||
data->set.proxytype = (curl_proxytype)va_arg(param, long);
|
data->set.proxytype = (curl_proxytype)va_arg(param, long);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case CURLOPT_SOCKS_PROXYTYPE:
|
|
||||||
/*
|
|
||||||
* Set proxy type. SOCKS4/SOCKS4a/SOCKS5/SOCKS5_HOSTNAME
|
|
||||||
*/
|
|
||||||
data->set.socks_proxytype = (curl_proxytype)va_arg(param, long);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case CURLOPT_PROXY_TRANSFER_MODE:
|
case CURLOPT_PROXY_TRANSFER_MODE:
|
||||||
/*
|
/*
|
||||||
* set transfer mode (;type=<a|i>) when doing FTP via an HTTP proxy
|
* set transfer mode (;type=<a|i>) when doing FTP via an HTTP proxy
|
||||||
@ -4109,7 +4102,7 @@ static struct connectdata *allocate_conn(struct Curl_easy *data)
|
|||||||
and the Curl_easy */
|
and the Curl_easy */
|
||||||
|
|
||||||
conn->http_proxy.proxytype = data->set.proxytype;
|
conn->http_proxy.proxytype = data->set.proxytype;
|
||||||
conn->socks_proxy.proxytype = data->set.socks_proxytype;
|
conn->socks_proxy.proxytype = CURLPROXY_SOCKS4;
|
||||||
|
|
||||||
#ifdef CURL_DISABLE_PROXY
|
#ifdef CURL_DISABLE_PROXY
|
||||||
|
|
||||||
|
@ -867,11 +867,9 @@ static CURLcode operate_do(struct GlobalConfig *global,
|
|||||||
if(config->proxy)
|
if(config->proxy)
|
||||||
my_setopt_enum(curl, CURLOPT_PROXYTYPE, (long)config->proxyver);
|
my_setopt_enum(curl, CURLOPT_PROXYTYPE, (long)config->proxyver);
|
||||||
|
|
||||||
/* new in libcurl 7.10 */
|
/* new in libcurl 7.52.0 */
|
||||||
if(config->socksproxy) {
|
if(config->socksproxy) {
|
||||||
my_setopt_str(curl, CURLOPT_SOCKS_PROXY, config->socksproxy);
|
my_setopt_str(curl, CURLOPT_SOCKS_PROXY, config->socksproxy);
|
||||||
my_setopt_enum(curl, CURLOPT_SOCKS_PROXYTYPE,
|
|
||||||
(long)config->socksver);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* new in libcurl 7.10.6 */
|
/* new in libcurl 7.10.6 */
|
||||||
|
Loading…
Reference in New Issue
Block a user