curl не может скачать файл, но браузер может


1

Пример URL-адреса: https://xxxxxxxxxx.s3.amazonaws.com/xxxx-xxxx-xxxx-xxxx/xxxxxxxxxxxxx/x?AWSAccessKeyId=AKIAIFKEBR4CLVTDYSLA&Signature=Kv%2B859dJ2eUmLgHdkT%2F625EeD1

Я пытался декодировать% 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'

Ключ одинарные кавычки.


Как выясняется - это не работает для всех случаев ... Любой другой трюк?
Виталий Зданевич

На какие случаи это не работает? Если вы делаете какую-либо переменную в URL, она не будет работать между одинарными кавычками.
Апокалипсис

Прекрасно работает для меня. Получал отказано в доступе без одинарных кавычек. Спасибо!
Джошуа Пинтер

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.