aboutsummaryrefslogtreecommitdiff
path: root/docs/libcurl/opts/CURLOPT_NOPROXY.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/libcurl/opts/CURLOPT_NOPROXY.md')
-rw-r--r--docs/libcurl/opts/CURLOPT_NOPROXY.md91
1 files changed, 91 insertions, 0 deletions
diff --git a/docs/libcurl/opts/CURLOPT_NOPROXY.md b/docs/libcurl/opts/CURLOPT_NOPROXY.md
new file mode 100644
index 000000000..91292e22e
--- /dev/null
+++ b/docs/libcurl/opts/CURLOPT_NOPROXY.md
@@ -0,0 +1,91 @@
+---
+c: Copyright (C) Daniel Stenberg, <daniel.se>, et al.
+SPDX-License-Identifier: curl
+Title: CURLOPT_NOPROXY
+Section: 3
+Source: libcurl
+See-also:
+ - CURLOPT_PROXY (3)
+ - CURLOPT_PROXYAUTH (3)
+ - CURLOPT_PROXYTYPE (3)
+---
+
+# NAME
+
+CURLOPT_NOPROXY - disable proxy use for specific hosts
+
+# SYNOPSIS
+
+~~~c
+#include <curl/curl.h>
+
+CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NOPROXY, char *noproxy);
+~~~
+
+# DESCRIPTION
+
+Pass a pointer to a null-terminated string. The string consists of a comma
+separated list of host names that do not require a proxy to get reached, even
+if one is specified. The only wildcard available is a single * character,
+which matches all hosts, and effectively disables the proxy. Each name in this
+list is matched as either a domain which contains the hostname, or the
+hostname itself. For example, "ample.com" would match ample.com, ample.com:80,
+and www.ample.com, but not www.example.com or ample.com.org.
+
+Setting the *noproxy* string to "" (an empty string) explicitly enables
+the proxy for all host names, even if there is an environment variable set for
+it.
+
+Enter IPv6 numerical addresses in the list of host names without enclosing
+brackets:
+
+ "example.com,::1,localhost"
+
+Since 7.86.0, IP addresses specified to this option can be provided using CIDR
+notation: an appended slash and number specifies the number of "network bits"
+out of the address to use in the comparison. For example "192.168.0.0/16"
+would match all addresses starting with "192.168".
+
+The application does not have to keep the string around after setting this
+option.
+
+# Environment variables
+
+If there is an environment variable called **no_proxy** (or **NO_PROXY**),
+it is used if the CURLOPT_NOPROXY(3) option is not set. It works exactly
+the same way.
+
+# DEFAULT
+
+NULL
+
+# PROTOCOLS
+
+Most
+
+# EXAMPLE
+
+~~~c
+int main(void)
+{
+ CURL *curl = curl_easy_init();
+ if(curl) {
+ /* accept various URLs */
+ curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/");
+ /* use this proxy */
+ curl_easy_setopt(curl, CURLOPT_PROXY, "http://proxy:80");
+ /* ... but make sure this host name is not proxied */
+ curl_easy_setopt(curl, CURLOPT_NOPROXY, "www.example.com");
+ curl_easy_perform(curl);
+ }
+}
+~~~
+
+# AVAILABILITY
+
+Added in 7.19.4
+
+# RETURN VALUE
+
+Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
+CURLE_OUT_OF_MEMORY if there was insufficient heap space.