Curl kann die Datei nicht herunterladen, der Browser jedoch schon

Curl kann die Datei nicht herunterladen, der Browser jedoch schon

URL-Beispiel:https://xxxxxxxxxx.s3.amazonaws.com/xxxx-xxxx-xxxx-xxxx/xxxxxxxxxxxxx/x?AWSAccessKeyId=AKIAIFKEBR4CLVTDYSLA&Signature=Kv%2B859dJ2eUmLgHdkT%2F9nUJEeRM%3D&Expires=1922517562

Ich habe versucht, %XX zu dekodieren, aber ohne Erfolg.

Ich habe es auch versucht , aws s3 cp s3://xxxxxxxxxx/xxxx-xxxx-xxxx-xxxx/xxxxxxxx... - --recursiveaber Streaming currently is only compatible with non-recursive cp commandsich muss mehrere Dateien von S3 streamen.

Bei Verwendung wgeterhalte ich die gleiche 403-Antwort.

URL von s3_client.generate_presigned_url.

Antwort1

Stellen Sie durch die Verwendung einfacher Anführungszeichen sicher, dass alle möglichen Sonderzeichen wörtlich genommen werden.

[user@localhost ~]# curl 'https://xxxxxxxxxx.s3.amazonaws.com/xxxx-xxxx-xxxx-xxxx/xxxxxxxxxxxxx/x?AWSAccessKeyId=AKIAIFKEBR4CLVTDYSLA&Signature=Kv%2B859dJ2eUmLgHdkT%2F9nUJEeRM%3D&Expires=1922517562'

Der Schlüssel sind einfache Anführungszeichen.

Antwort2

Aha, ich habe festgestellt, dass Curl nicht in Anführungszeichen gesetzte URLs ( /anstelle von %2F) herunterladen kann, wenn diese in „doppelten Anführungszeichen“ stehen.

verwandte Informationen