In the HTTP specification, a redirect response (with 3XX HTTP response) indicates to the web browser that the requested URL is moved at another location. The redirect response then contains the URL of the redirect target.
Like regular HTTP clients, wget supports URL redirection (also known as URL forwarding), which means that when you attempt to download a redirected URL, wget will automatically follow URL redirect to fetch the redirected target. If for some reason you want to disable URL direction, and stop with 3XX status code, you can use "--max-redirect=number" option with wget. This option is used to specify the maximum number of (recursive) redirections to follow, which is set to 20 by default.
If you want to disable HTTP redirects in wget, use "--max-redirect=0" option as follows.
--2014-10-31 23:08:58-- http://www.aaa.com/a.html Resolving aaa.com (aaa.com)... 18.104.22.168 Connecting to aaa.com (aaa.com)|22.214.171.124|:80... connected. HTTP request sent, awaiting response... 301 Moved Permanently Location: http://www.bbb.com/b.html [following] 0 redirections exceeded.
As you can see, when wget encounters a HTTP redirect reponse, it does not follow the redirection, and simply stop with "0 redirections exceeded" error message. It will also show a received HTTP status code (e.g., 301).
Note that curl, which is another similar HTTP client, behave oppositely. By default, curl does NOT follow URL redirection. To force curl to redirect a URL, you have to use "-L" option.
Subscribe to Ask Xmodulo
Do you want to receive Linux related questions & answers published at Ask Xmodulo? Enter your email address below, and we will deliver our Linux Q&A straight to your email box, for free. Delivery powered by Google Feedburner.
Did you find this tutorial helpful? Then please be generous and support Xmodulo!