近期由于NCEP GFS数据源网络通信协议由HTTP更新为HTTPS,基于axel的多线程下载工具均出现了 Too many redirects的问题。这是由于旧版axel无法支持新的HTTPS协议,导致在获取链接时出现了重定向的问题。

Note

上述问题仅出现在基于HTTP协议的GFS数据源,基于ftp的GFS数据源不受影响。

1
axel -n 4 https://nomads.ncep.noaa.gov/pub/data/nccf/com/gfs/prod/gfs.2019021100/gfs.t00z.pgrb2.0p25.f000

通过更新axel到最新版本即可解决上述问题。关于axel的发布见axel github。从axel 发布页下载最新版本axel-2.16.1,比如axel-2.16.1.tar.gz 下载完成后,解压:

1
tar -zxvf axel.2.16.1.tar.gz

编译安装

1
2
3
4
5
cd axel.2.16.1.tar.gz

./configure --prefix=/directory/to/install
make 
make install

其中 configure 配置命令中 --prefix 选项指定安装目录,如果不指定安装目录,会安装到系统默认目录。

make 命令会在当前文件夹内进行编译,到此步就已经完成了axel的编译,编译后的axel就在当前目录的某个文件夹内,

make install 命令会将编译完成后的文件移动到 --prefix 指定的路径。如果没有指定安装目录,并且没有root权限,执行make之后,无需执行 make install

编译安装结束之后,将新编译的axel路径添加的环境变量中,然后source更新环境变量,查看axel版本

1
axel --version

安装完成后,可以测试一下:

1
axel -n 4 https://nomads.ncep.noaa.gov/pub/data/nccf/com/gfs/prod/gfs.2019021100/gfs.t00z.pgrb2.0p25.f000

当然还是可以使用之前的HTTP协议链接,axel会自动处理这种问题。