解决axel中URL不能超过1024字符问题

在linux下下载东西往往比较喜欢使用axel来下载,但是有时候会发现当下载的链接地址字符超过1024个字符时就会报错:
Can’t handle URLs of length over 1024,于是乎准备下载axel源码找到可以增加URL字符数的方法。

首先我们先下载axel的源代码,因为我用的是debian,下载源码直接使用apt-get就可以。

下载完成后我们进入源代码文件夹搜索一下代码文件,找到相应的关键字,比如 handle URLs of length over


可以看到在src/text.c文件里有一行

使用vim打开该文件并定位

可以看到206行中应该是从标准输入中读取URL链接,长度为1024(今天看了源码才知道原来还可以这样= =),214行可以看到如果命令行参数中的URL长度大于MAX_STRING就会报handle URLs错误,我们回到源代码目录再次搜索MAX_STRING


可以看到在src/axel.h头文件中有该宏的定义,而定义值便是1024
我们使用vim打开该头文件并修改值,比如我们修改成2048(src/text.c文件中第206行%1024[^\n]s也改成2048,为样从标准输入读取url时也将会最大读取2048字符),然后再编译代码并安装即可,安装完成后再次使用axel下载发现超过1024字符的链接已经可以下载了。
–阅读次数(0)

发表评论

电子邮件地址不会被公开。

*