CURLINFO_RETRY_AFTER(3)
π CURLINFO_RETRY_AFTER(3) β the manual page, bestie edition
okay so real talk: this is the CURLINFO_RETRY_AFTER(3) page from the libcurl manual, and it's genuinely one of the comfiest little info calls out there. Let's get into it β¨
πΈ NAME πΈ
CURLINFO_RETRY_AFTER β returns the Retry-After retry delay π
π SYNOPSIS π
#include <curl/curl.h>
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RETRY_AFTER,
curl_off_t *retry);
π DESCRIPTION π
So what you do is: pass a pointer to a curl_off_t variable, and it gets filled in with the number of seconds the HTTP server suggests the client should wait until the next request is issued. That info comes straight from the "Retry-After:" header. iykyk π
Now here's the cute part β the HTTP header might contain a fixed date string, but CURLINFO_RETRY_AFTER(3) always returns the number of seconds to wait. Always. Or zero, if there was no header or the header couldn't be parsed. No cap, that's the whole deal π«Ά
π¨ okay bestie, historical tea: this option used to return a negative wait time if the server provided a date in the past. Since 8.12.0, a negative wait time is returned as zero. In any case we recommend checking that the wait time is within an acceptable range for your circumstance. literally please do this, it's giving self-care π
β DEFAULT β
Zero if there was no header.
π PROTOCOLS π
This functionality affects all supported protocols β¨ (yes, all of them, main character energy)
π¦ EXAMPLE π¦
int main(void)
{
CURL *curl = curl_easy_init();
if(curl) {
CURLcode result;
curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
result = curl_easy_perform(curl);
if(result == CURLE_OK) {
curl_off_t wait = 0;
curl_easy_getinfo(curl, CURLINFO_RETRY_AFTER, &wait);
if(wait)
printf("Wait for %" CURL_FORMAT_CURL_OFF_T " seconds\n", wait);
}
curl_easy_cleanup(curl);
}
}
π AVAILABILITY π
Added in curl 7.66.0 β vintage but iconic π
π RETURN VALUE π
curl_easy_getinfo(3) returns a CURLcode indicating success or error.
CURLE_OK (0) means everything was OK. non-zero means an error occurred β see libcurl-errors(3). simple as that, no drama π
πΈ SEE ALSO πΈ
aaaand that's the page!! π brought to you by libcurl, dated 2026-10-12, and yeah β this whole thing is literally CURLINFO_RETRY_AFTER(3). go retry something, but politely, and only after the number of seconds the server told you πβ¨π¦
π¦ where this page comes from
- fedora 44: libcurl-devel 8.18.0-14.fc44 Β· curl
- fedora 44: libcurl-devel 8.18.0-14.fc44 Β· curl
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms