Aria2c执行下载命令提示无法识别URI参数错误如何解决
问题原因
这个故障和URL没有任何关系,核心原因是命令里所有参数前的连字符用错了:你输入的是长破折号–(排版用的en dash,Unicode U+2013),不是命令行工具能识别的半角短横-(ASCII 编码U+002D)。
你把-o换成-O没有解决问题,是因为你只改了参数的字母,前面的破折号还是错的。aria2c解析命令时,没有把–o识别为合法参数,直接把它当成了需要下载的资源地址,自然会抛出“不识别URI或不支持协议”的错误。
修复方案
把命令里所有参数前的长破折号全部替换成英文半角短横即可,修正后的命令:
aria2c -o get.tar.lz4 -x 4 -s 12 "https://tf-dex-prod-public-snapshot.s3-accelerate.amazonaws.com/geth-20220603.tar.lz4?AWSAccessKeyId=AKIAYINE6SBQPUZDDRRO&Signature=vfHuvLkeO0iTBmPz10HTANzSOX4%3D&Expires=1656939101"
同类问题排查提示
- 只要看到aria2c抛出“Unrecognized URI”错误,且后面跟着的字符串是你本以为是参数的内容,优先检查参数前的连字符是否为半角短横,这是复制带格式的命令时最高发的问题。
- 尽量不要直接从网页、富文本文档、笔记软件里复制命令,这类工具经常会自动把半角短横替换成长破折号做排版优化,最稳妥的方式是手打参数前的短横。
- 如果需要验证URL是否正常,单独把引号包裹的URL复制到浏览器地址栏测试即可,能正常访问就说明URL本身无故障,问题出在命令参数解析环节。
内容的提问来源于stack exchange,提问作者Jurgen Verhasselt
相关产品推荐
相关产品推荐

