1--- 2c: Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. 3SPDX-License-Identifier: curl 4Title: CURLOPT_PROXYUSERPWD 5Section: 3 6Source: libcurl 7See-also: 8 - CURLOPT_PROXY (3) 9 - CURLOPT_PROXYPASSWORD (3) 10 - CURLOPT_PROXYTYPE (3) 11 - CURLOPT_PROXYUSERNAME (3) 12Protocol: 13 - All 14Added-in: 7.1 15--- 16 17# NAME 18 19CURLOPT_PROXYUSERPWD - username and password to use for proxy authentication 20 21# SYNOPSIS 22 23~~~c 24#include <curl/curl.h> 25 26CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYUSERPWD, char *userpwd); 27~~~ 28 29# DESCRIPTION 30 31Pass a char pointer as parameter, which should be [username]:[password] to use 32for the connection to the HTTP proxy. Both the name and the password are URL 33decoded before used, so to include for example a colon in the username you 34should encode it as %3A. (This is different to how CURLOPT_USERPWD(3) is 35used - beware.) 36 37Use CURLOPT_PROXYAUTH(3) to specify the authentication method. 38 39The application does not have to keep the string around after setting this 40option. 41 42Using this option multiple times makes the last set string override the 43previous ones. Set it to NULL to disable its use again. 44 45# DEFAULT 46 47NULL 48 49# %PROTOCOLS% 50 51# EXAMPLE 52 53~~~c 54int main(void) 55{ 56 CURL *curl = curl_easy_init(); 57 if(curl) { 58 CURLcode res; 59 curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/foo.bin"); 60 curl_easy_setopt(curl, CURLOPT_PROXY, "http://localhost:8080"); 61 curl_easy_setopt(curl, CURLOPT_PROXYUSERPWD, "clark%20kent:superman"); 62 res = curl_easy_perform(curl); 63 curl_easy_cleanup(curl); 64 } 65} 66~~~ 67 68# %AVAILABILITY% 69 70# RETURN VALUE 71 72Returns CURLE_OK if proxies are supported, CURLE_UNKNOWN_OPTION if not, or 73CURLE_OUT_OF_MEMORY if there was insufficient heap space. 74