mirror of
https://github.com/moparisthebest/curl
synced 2024-12-23 00:28:48 -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);
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FOLLOWLOCATION, long enable);
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
A parameter set to 1 tells the library to follow any Location: header that the
|
A long parameter set to 1 tells the library to follow any Location: header
|
||||||
server sends as part of a HTTP header in a 3xx response.
|
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
|
libcurl will issue another request for the new URL and follow new Location:
|
||||||
follow new Location: headers all the way until no more such headers are
|
headers all the way until no more such headers are returned.
|
||||||
returned. \fICURLOPT_MAXREDIRS(3)\fP can be used to limit the number of
|
\fICURLOPT_MAXREDIRS(3)\fP can be used to limit the number of redirects
|
||||||
redirects libcurl will follow.
|
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
|
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
|
reasons: Since 7.19.4 FILE and SCP are disabled, and since 7.40.0 SMB and SMBS
|
||||||
are also disabled.
|
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
|
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
|
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
|
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.
|
\fICURLOPT_FOLLOWLOCATION(3)\fP.
|
||||||
.SH DEFAULT
|
.SH DEFAULT
|
||||||
0, disabled
|
0, disabled
|
||||||
|
Loading…
Reference in New Issue
Block a user