4 ms·
From the man page -L, --location (HTTP) If the server reports that the requested page has moved to a different location (indicated with a Locatio
by dopamean 7y ago
From the man page
-L, --location
(HTTP) If the server reports that the requested page has moved to a different location (indicated with a Location: header and a 3XX response code), this option will make curl redo the request on the
new place. If used together with -i, --include or -I, --head, headers from all requested pages will be shown. When authentication is used, curl only sends its credentials to the initial host. If a re-
direct takes curl to a different host, it won't be able to intercept the user+password. See also --location-trusted on how to change this. You can limit the amount of redirects to follow by using the
--max-redirs option.
When curl follows a redirect and the request is not a plain GET (for example POST or PUT), it will do the following request with a GET if the HTTP response was 301, 302, or 303. If the response code
was any other 3xx code, curl will re-send the following request using the same unmodified method.
You can tell curl to not change the non-GET request method to GET after a 30x response by using the dedicated options for that: --post301, --post302 and --post303.
- arminiusreturns 7y agoI read the man page and I understand what -L does, but I still don't understand why the -L is needed in this particular case when the request works ok without it. Is the user only wanting to curl from the original page and any redirects are considered bad?, etc.
- moviuro 7y agoWhen I tried to open the page on my machine (with chrome) it failed on a host I don't know (advertising.com). So I tried to see what happened: `curl -L` allows me to do that. And yes, this kind of half-assed redirect is breaking, and a total disregard for my trying to trust the original host. This kind of behavior I expect from sites victim of an XSS, not a "normal" website.