curl kann die Datei nicht herunterladen, aber der Browser kann

1866
Vitaly Zdanevich

URL-Beispiel: https://xxxxxxxx.s3.amazonaws.com/xxxx-xxxx-xxxx-xxxx/xxxxxxxxxxxxx/x?AWSAccessKeyId=AKIAIFKEBR4CLVTDYSLA&Signature=Kv%2B859dJ2eUmLgHdkT%2

Ich habe versucht,% XX zu decodieren, aber kein Erfolg.

Auch habe ich versucht, aws s3 cp s3://xxxxxxxxxx/xxxx-xxxx-xxxx-xxxx/xxxxxxxx... - --recursiveaber Streaming currently is only compatible with non-recursive cp commands- ich mehrere Dateien von S3 streamen müssen.

Mit wgetIch bin die gleichen 403 zu bekommen.

URL von s3_client.generate_presigned_url.

0

2 Antworten auf die Frage

0
apocalysque

Verwenden Sie einfache Anführungszeichen, um sicherzustellen, dass alle potenziellen 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 besteht aus einfachen Anführungszeichen.

Wie sich herausstellt - es funktioniert nicht in allen Fällen ... Irgendein anderer Trick? Vitaly Zdanevich vor 6 Jahren 0
Für welche Art von Fällen funktioniert es nicht? Wenn Sie eine Variablenersetzung in der URL vornehmen, funktioniert dies nicht zwischen den einfachen Anführungszeichen. apocalysque vor 6 Jahren 0
-1
Vitaly Zdanevich

Aha, ich habe festgestellt, dass curl nicht /in Anführungszeichen stehende URLs ( anstelle von% 2F) herunterladen kann, wenn diese URL in "doppelten Anführungszeichen" steht.