Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

CURLINFO_PROXY_ERROR (3)

Name

CURLINFO_PROXY_ERROR - get the detailed (SOCKS) proxy error

Synopsis

#include <curl/curl.h>

typedef enum {
CURLPX_OK,
CURLPX_BAD_ADDRESS_TYPE,
CURLPX_BAD_VERSION,
CURLPX_CLOSED,
CURLPX_GSSAPI,
CURLPX_GSSAPI_PERMSG,
CURLPX_GSSAPI_PROTECTION,
CURLPX_IDENTD,
CURLPX_IDENTD_DIFFER,
CURLPX_LONG_HOSTNAME,
CURLPX_LONG_PASSWD,
CURLPX_LONG_USER,
CURLPX_NO_AUTH,
CURLPX_RECV_ADDRESS,
CURLPX_RECV_AUTH,
CURLPX_RECV_CONNECT,
CURLPX_RECV_REQACK,
CURLPX_REPLY_ADDRESS_TYPE_NOT_SUPPORTED,
CURLPX_REPLY_COMMAND_NOT_SUPPORTED,
CURLPX_REPLY_CONNECTION_REFUSED,
CURLPX_REPLY_GENERAL_SERVER_FAILURE,
CURLPX_REPLY_HOST_UNREACHABLE,
CURLPX_REPLY_NETWORK_UNREACHABLE,
CURLPX_REPLY_NOT_ALLOWED,
CURLPX_REPLY_TTL_EXPIRED,
CURLPX_REPLY_UNASSIGNED,
CURLPX_REQUEST_FAILED,
CURLPX_RESOLVE_HOST,
CURLPX_SEND_AUTH,
CURLPX_SEND_CONNECT,
CURLPX_SEND_REQUEST,
CURLPX_UNKNOWN_FAIL,
CURLPX_UNKNOWN_MODE,
CURLPX_USER_REJECTED,
CURLPX_LAST /* never use */
} CURLproxycode;

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PROXY_ERROR, long *detail);

Description

CURLINFO_PROXY_ERROR(3)    curl_easy_getinfo options   CURLINFO_PROXY_ERROR(3)



NAME
       CURLINFO_PROXY_ERROR - get the detailed (SOCKS) proxy error

SYNOPSIS
       #include <curl/curl.h>

       typedef enum {
         CURLPX_OK,
         CURLPX_BAD_ADDRESS_TYPE,
         CURLPX_BAD_VERSION,
         CURLPX_CLOSED,
         CURLPX_GSSAPI,
         CURLPX_GSSAPI_PERMSG,
         CURLPX_GSSAPI_PROTECTION,
         CURLPX_IDENTD,
         CURLPX_IDENTD_DIFFER,
         CURLPX_LONG_HOSTNAME,
         CURLPX_LONG_PASSWD,
         CURLPX_LONG_USER,
         CURLPX_NO_AUTH,
         CURLPX_RECV_ADDRESS,
         CURLPX_RECV_AUTH,
         CURLPX_RECV_CONNECT,
         CURLPX_RECV_REQACK,
         CURLPX_REPLY_ADDRESS_TYPE_NOT_SUPPORTED,
         CURLPX_REPLY_COMMAND_NOT_SUPPORTED,
         CURLPX_REPLY_CONNECTION_REFUSED,
         CURLPX_REPLY_GENERAL_SERVER_FAILURE,
         CURLPX_REPLY_HOST_UNREACHABLE,
         CURLPX_REPLY_NETWORK_UNREACHABLE,
         CURLPX_REPLY_NOT_ALLOWED,
         CURLPX_REPLY_TTL_EXPIRED,
         CURLPX_REPLY_UNASSIGNED,
         CURLPX_REQUEST_FAILED,
         CURLPX_RESOLVE_HOST,
         CURLPX_SEND_AUTH,
         CURLPX_SEND_CONNECT,
         CURLPX_SEND_REQUEST,
         CURLPX_UNKNOWN_FAIL,
         CURLPX_UNKNOWN_MODE,
         CURLPX_USER_REJECTED,
         CURLPX_LAST /* never use */
       } CURLproxycode;

       CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PROXY_ERROR, long *detail);

DESCRIPTION
       Pass a pointer to a long to receive a detailed error code when the most
       recent transfer returned a CURLE_PROXY error.

       The return value will match the CURLproxycode set.

       The returned value will  be  zero  (equal  to  CURLPX_OK)  if  no  such
       response code was available.

PROTOCOLS
       All that can be done over SOCKS

EXAMPLE
       CURL *curl = curl_easy_init();
       if(curl) {
         CURLcode res;
         curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");

         curl_easy_setopt(curl, CURLOPT_PROXY, "socks5://127.0.0.1");
         res = curl_easy_perform(curl);
         if(res == CURLE_PROXY) {
           long proxycode;
           res = curl_easy_getinfo(curl, CURLINFO_PROXY_ERROR, &proxycode);
           if(!res && proxycode)
             printf("The detailed proxy error: %ld\n", proxycode);
         }
         curl_easy_cleanup(curl);
       }

AVAILABILITY
       Added in 7.73.0

RETURN VALUE
       Returns  CURLE_OK  if the option is supported, and CURLE_UNKNOWN_OPTION
       if not.


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+------------------+
       |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
       +---------------+------------------+
       |Availability   | web/curl         |
       +---------------+------------------+
       |Stability      | Uncommitted      |
       +---------------+------------------+

SEE ALSO
       CURLINFO_RESPONSE_CODE(3),   libcurl-errors(3),   curl_easy_getinfo(3),
       curl_easy_setopt(3),



NOTES
       Source  code  for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This     software     was    built    from    source    available    at
       https://github.com/oracle/solaris-userland.   The  original   community
       source       was       downloaded      from       https://curl.se/down-
       load/curl-7.83.1.tar.bz2.

       Further information about this software can be found on the open source
       community website at http://curl.haxx.se/.



libcurl 7.83.1                 November 04, 2020       CURLINFO_PROXY_ERROR(3)