当浏览器正确下载时,wget url不起作用

问题描述

我想从以下URL下载7z文件:“ ftp://ftp.mtps.gov.br/pdet/microdados/NOVO%20CAGED/Movimenta%E7%F5es/2020/Junho/CAGEDMOV202001.7z'”

如果我将其粘贴到浏览器中,它将正确下载。但是,当我使用wget.download(url,'caged.7z')方法时,它将引发以下错误

<urlopen error ftp error: error_perm('550 The system cannot find the path specified. ')>

任何人都知道发生了什么事吗?

解决方法

您需要对实体‰20,%e7和%f5进行解码,因为curl不会像浏览器那样{table)对您这样做。

您可以为此使用urllib的unquote()

import urllib.parse

...

url = urllib.parse.unquote(your_url)