mirror of
https://github.com/moparisthebest/curl
synced 2024-12-22 08:08:50 -05:00
CURLOPT_FOLLOWLOCATION.3: mention methods for redirects
and some general cleaning up
This commit is contained in:
parent
668231c309
commit
8a0ff1e529
@ -28,24 +28,31 @@ CURLOPT_FOLLOWLOCATION \- follow HTTP 3xx redirects
|
||||
|
||||
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FOLLOWLOCATION, long enable);
|
||||
.SH DESCRIPTION
|
||||
A parameter set to 1 tells the library to follow any Location: header that the
|
||||
server sends as part of a HTTP header in a 3xx response.
|
||||
A long parameter set to 1 tells the library to follow any Location: header
|
||||
that the server sends as part of a HTTP header in a 3xx response. The
|
||||
Location: header can specify a relative or an absolute URL to follow.
|
||||
|
||||
This means that libcurl will re-send the same request on the new location and
|
||||
follow new Location: headers all the way until no more such headers are
|
||||
returned. \fICURLOPT_MAXREDIRS(3)\fP can be used to limit the number of
|
||||
redirects libcurl will follow.
|
||||
libcurl will issue another request for the new URL and follow new Location:
|
||||
headers all the way until no more such headers are returned.
|
||||
\fICURLOPT_MAXREDIRS(3)\fP can be used to limit the number of redirects
|
||||
libcurl will follow.
|
||||
|
||||
libcurl can limit to what protocols it will automatically follow. The accepted
|
||||
libcurl limits what protocols it automatically follows to. The accepted
|
||||
protocols are set with \fICURLOPT_REDIR_PROTOCOLS(3)\fP. By default libcurl
|
||||
will allow all protocols on redirect except several disabled for security
|
||||
will allow all protocols on redirect except those disabled for security
|
||||
reasons: Since 7.19.4 FILE and SCP are disabled, and since 7.40.0 SMB and SMBS
|
||||
are also disabled.
|
||||
|
||||
When following a Location:, the 3xx response code that redirected it also
|
||||
dictates which request method it will use in the subsequent request: For 301,
|
||||
302 and 303 responses libcurl will switch method to GET unless
|
||||
\fICURLOPT_POSTREDIR(3)\fP instructs libcurl otherwise. All other 3xx codes
|
||||
will make libcurl send the same method again.
|
||||
|
||||
For users who think the existing location following is too naive, too simple
|
||||
or just lacks features, it is very easy to instead implement your own redirect
|
||||
follow logic with the use of \fIcurl_easy_getinfo(3)\fP's
|
||||
\fICURLINFO_REDIRECT_URL\fP option instead of using
|
||||
\fICURLINFO_REDIRECT_URL(3)\fP option instead of using
|
||||
\fICURLOPT_FOLLOWLOCATION(3)\fP.
|
||||
.SH DEFAULT
|
||||
0, disabled
|
||||
|
Loading…
Reference in New Issue
Block a user