GNURLOPT_PROXYHEADER(3)

πŸ“¦ version 7.72.0, in nixos 26.05, nixpkgs unstable

πŸŽ€ NAME πŸŽ€

CURLOPT_PROXYHEADER β€” custom HTTP headers to pass to proxy. This is the GNURLOPT_PROXYHEADER(3) page, from the curl_easy_setopt options manual. Yes bestie, we’re giving proxy headers main character energy today 🫢.

πŸ“œ SYNOPSIS πŸ“œ

#include <gnurl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYHEADER,
                          struct curl_slist *headers);

πŸ’… DESCRIPTION πŸ’…

Okay so bestie, you pass a pointer to a linked list of HTTP headers to pass in your HTTP request sent to a proxy. The rules for this list are identical to the CURLOPT_HTTPHEADER(3) option’s. No cap.

The headers set with this option are only ever used in requests sent to a proxy β€” when there’s also a request sent to a host. That’s the vibe check.

Lowkey important: the first line in a request (containing the method, usually a GET or POST) is NOT a header and cannot be replaced using this option. Only the lines following the request-line are headers. Adding this method line in this list of headers will only cause your request to send an invalid header. So do not do that, bestie πŸ’€.

Pass a NULL to this to reset back to no custom headers. Iconic reset behavior, periodt.

🌸 DEFAULT 🌸

NULL ✨

πŸ¦‹ PROTOCOLS πŸ¦‹

HTTP β€” that’s the one, bestie.

✨ EXAMPLE ✨

Here’s the example in all its glory:

       CURL *curl = curl_easy_init();

       struct curl_slist *list;

       if(curl) {
         curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
         curl_easy_setopt(curl, CURLOPT_PROXY, "http://proxy.example.com:80");

         list = curl_slist_append(NULL, "Shoesize: 10");
         list = curl_slist_append(list, "Accept:");

         curl_easy_setopt(curl, CURLOPT_PROXYHEADER, list);

         curl_easy_perform(curl);

         curl_slist_free_all(list); /* free the list again */
       }

⭐ AVAILABILITY ⭐

Added in 7.37.0 πŸŽ€

🌈 RETURN VALUE 🌈

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. Clean, clear, no drama.

πŸ‘‘ SEE ALSO πŸ‘‘


And that’s the tea πŸ«– β€” this page is from libcurl 7.37.0, dated 19 Jun 2014, and its manual name is GNURLOPT_PROXYHEADER(3). Go forth and proxy-header responsibly, bestie πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from