curl無法下載文件,但瀏覽器可以

curl無法下載文件,但瀏覽器可以

網址範例:https://xxxxxxxxxx.s3.amazonaws.com/xxxx-xxxx-xxxx-xxxx/xxxxxxxxxxxxx/x?AWSAccessKeyId=AKIAIFKEBR4CLVTDYSLA&Signature=Kv%2B859dJ2eUmLgHdkT%2F9nUJEeRM%3251752525175251752517525125125125125125251251252512512525125251752517502517502517000025757

我嘗試解碼 %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。

網址來自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

啊哈,我發現/當 url 在“雙引號”中時,curl 可以下載不含引號的 url(而不是 %2F)。

相關內容