---
author: ''
category: 技术
comments_data:
- date: '2014-11-26 22:56:14'
  message: '[呵呵]'
  postip: 123.120.75.127
  username: 微博评论
- date: '2014-11-26 22:56:14'
  message: Curl和wget在处理url跳转的不同！
  postip: 123.120.75.127
  username: 微博评论
- date: '2014-11-26 23:33:02'
  message: 腻害
  postip: 183.15.17.138
  username: 微博评论
- date: '2014-11-27 00:03:05'
  message: '@老坛酸醋面'
  postip: 61.154.16.94
  username: 微博评论
- date: '2014-11-27 02:33:00'
  message: 我怎么了....
  postip: 61.154.16.94
  username: 微博评论
- date: '2014-11-27 06:03:03'
  message: Repost
  postip: 220.181.108.143
  username: 微博评论
count:
  commentnum: 6
  favtimes: 1
  likes: 0
  sharetimes: 14
  viewnum: 11435
date: '2014-11-26 22:47:19'
editorchoice: false
excerpt: 提问： 当我用wget获取一个重定向到URL Y的URL X的时候，wget默认会自动获取URL Y。然而我想要强制获取不带重定向的URL X。我该如何禁用wget重定向URL的功能。  在HTTP标准中，重定向响应（带3XX的HTTP响应）说明请求的URL被移到了新的位置。重定向相应接着包含了目标重定向的URL。  像常规的HTTP客户端，wget支持URL重定向（也叫URL转发），意味着当你尝试下载一个重定向的URL时，wget会自动跟随URL重定向获取重定向后的资源。如果你由于一些原因想要禁用URL重定向，并停止3XX的状态码，你可以使用wget的--max-redirect=number选项。这个
fromurl: http://ask.xmodulo.com/disable-http-redirect-wget.html
id: 4312
islctt: true
largepic: /images/p/201411/26/224721v4w6u5e44h400h4e.png
permalink: /article-4312-1.html
pic: /images/p/201411/26/224721v4w6u5e44h400h4e.png.thumb.jpg
related: []
reviewer: ''
selector: ''
summary: 提问： 当我用wget获取一个重定向到URL Y的URL X的时候，wget默认会自动获取URL Y。然而我想要强制获取不带重定向的URL X。我该如何禁用wget重定向URL的功能。  在HTTP标准中，重定向响应（带3XX的HTTP响应）说明请求的URL被移到了新的位置。重定向相应接着包含了目标重定向的URL。  像常规的HTTP客户端，wget支持URL重定向（也叫URL转发），意味着当你尝试下载一个重定向的URL时，wget会自动跟随URL重定向获取重定向后的资源。如果你由于一些原因想要禁用URL重定向，并停止3XX的状态码，你可以使用wget的--max-redirect=number选项。这个
tags:
- wget
- curl
thumb: false
title: Linux 有问必答：如何在wget中禁用HTTP转发
titlepic: false
translator: geekpi
updated: '2014-11-26 22:47:19'
---


> 
> **提问**： 当我用wget获取一个重定向到URL Y的URL X的时候，wget默认会自动获取URL Y。然而我想要强制获取不带重定向的URL X。我该如何禁用wget重定向URL的功能。
> 
> 
> 


在HTTP标准中，重定向响应（带3XX的HTTP响应）说明请求的URL被移到了新的位置。重定向相应接着包含了目标重定向的URL。


![](/images/p/201411/26/224721v4w6u5e44h400h4e.png)


像常规的HTTP客户端，wget支持URL重定向（也叫URL转发），意味着当你尝试下载一个重定向的URL时，wget会自动跟随URL重定向获取重定向后的资源。如果你由于一些原因想要禁用URL重定向，并停止3XX的状态码，你可以使用wget的“--max-redirect=number”选项。这个选项用来指定最大（递归）重定向的数字，默认是20。


如果你想要禁用wget中的HTTP重定向，使用“--max-redirect=0”



```
$ wget --max-redirect=0 http://www.aaa.com/a.html

```



---



```
--2014-10-31 23:08:58--  http://www.aaa.com/a.html
Resolving aaa.com (aaa.com)... 1.2.3.4
Connecting to aaa.com (aaa.com)|1.2.3.4|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://www.bbb.com/b.html [following]
0 redirections exceeded.

```

如你所见，当wget遇到HTTP重定向响应时，它不会跟着重定向，并以“0 redirections exceeded”（超出0次重定向）的错误信息停止。它同样会显示一个HTTP的状态码（比如301）。


注意一下curl，另外一个类似的HTTP客户端，行为正好相反。默认上，curl并不会跟随URL重定向。要强制使cutl重定向到一个URL，你要使用“-L”选项。




---


via: <http://ask.xmodulo.com/disable-http-redirect-wget.html>


译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出