
Я пытался декодировать %XX, но безуспешно.
Я тоже пробовал aws s3 cp s3://xxxxxxxxxx/xxxx-xxxx-xxxx-xxxx/xxxxxxxx... - --recursive
, но Streaming currently is only compatible with non-recursive cp commands
мне нужно транслировать несколько файлов с S3.
Используя wget
я получаю ту же самую ошибку 403.
URL-адрес из s3_client.generate_presigned_url
.
решение1
Используйте одинарные кавычки, чтобы гарантировать, что любые потенциально специальные символы воспринимаются буквально.
[user@localhost ~]# curl 'https://xxxxxxxxxx.s3.amazonaws.com/xxxx-xxxx-xxxx-xxxx/xxxxxxxxxxxxx/x?AWSAccessKeyId=AKIAIFKEBR4CLVTDYSLA&Signature=Kv%2B859dJ2eUmLgHdkT%2F9nUJEeRM%3D&Expires=1922517562'
Ключ — одинарные кавычки.
решение2
Ага, я обнаружил, что curl может загружать URL-адрес без кавычек ( /
вместо %2F), если такой URL-адрес заключен в «двойные кавычки».