CURLOPT_MAXREDIRS(3)

CURLOPT_MAXREDIRS3

Maximum number of redirects allowed

Usage

#include <curl/curl.h>
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAXREDIRS, long amount);

Overview

Pass a long. The set number is the redirection limit amount. If that many redirections have been followed, the next redirect triggers the error (CURLE_TOO_MANY_REDIRECTS). This option only makes sense if the CURLOPT_FOLLOWLOCATION(3) is used at the same time.

Setting the limit to 0 makes libcurl refuse any redirect.

Set it to -1 for an infinite number of redirects. This allows your application to get stuck in never-ending redirect loops.

Default

30 (since 8.3.0), it was previously unlimited.

Protocols

HTTP(S)

Examples

int main(void)
{
  CURL *curl = curl_easy_init();
  if(curl) {
    curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/");
    /* enable redirect following */
    curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
    /* allow three redirects */
    curl_easy_setopt(curl, CURLOPT_MAXREDIRS, 3L);
    /* Perform the request */
    curl_easy_perform(curl);
  }
}

Return value

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

Releases

79 releases since OS X 10.10; the text changed 14 times.

  1. 10.10–10.10.4
  2. 10.10.5–10.11.6
  3. 10.12–10.12.5
  4. 10.12.6–10.14.6
  5. 10.15–11.5
  6. 12.0.1–12.2
  7. 12.3–12.5
  8. 13.0
  9. 13.1
  10. 13.2
  11. 13.3
  12. 13.4
  13. 13.5–14.1
  14. 14.2–14.4
  15. 14.5–26.5

Availability

Along with HTTP

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