CURLOPT_HAPROXY_CLIENT_IP(3)

CURLOPT_HAPROXY_CLIENT_IP3

Set haproxy proxy protocol client ip

Usage

#include <curl/curl.h>
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HAPROXY_CLIENT_IP,
                          char *client_ip);

Overview

When this parameter is set to a valid IPv4 or IPv6 numerical address, the library sends this address as client address in the HAProxy PROXY protocol v1 header at beginning of the connection.

This option is an alternative to CURLOPT_HAPROXYPROTOCOL(3) as that one cannot use a specified address.

Default

NULL, no HAProxy header is sent

Protocols

HTTP, HAProxy PROTOCOL

Examples

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_HAPROXY_CLIENT_IP, "1.1.1.1");
    ret = curl_easy_perform(curl);
  }
}

Return value

Returns CURLE_OK if HTTP is enabled, and CURLE_UNKNOWN_OPTION if not.

Releases

18 releases since macOS 14.2; the text changed 1 time.

  1. 14.2–14.4
  2. 14.5–26.5

Availability

Along with HTTP. Added in 8.2.0.

From curl 166.0.0.0.1 in macOS 26.5. Parsed by carta from the page's man source.