Estou tentando baixar o arquivo do cloudfront. É um arquivo do site scala-sbt. Ao usar o navegador (Chrome) está tudo ok. Basicamente, o fluxo se parece com:
https://dl.bintray.com/sbt/native-packages/sbt/0.13.8/sbt-0.13.8.zip -> HTTP 302
https://d29vzk4ow07wi7.cloudfront.net/155d6ff3bc178745ad4f951b7..... -> HTTP 200
O URL da Cloudfront é semelhante a este
https://d29vzk4ow07wi7.cloudfront.net/5ed3d97f83782ac965c5eb7256fc52df41dfa317
e contém parâmetros
response-content-disposition:attachment;filename="sbt-0.13.8.zip"
Policy:eyJTdGF0ZW1lbnQiOiBbeyJSZXNvdXJjZSI6Imh0dHAqOi8vZDI5dnprNG93MDd3aTcuY2xvdWRmcm9udC5uZXQvNWVkM2Q5N2Y4Mzc4MmFjOTY1YzVlYjcyNTZmYzUyZGY0MWRmYTMxNz9yZXNwb25zZS1jb250ZW50LWRpc3Bvc2l0aW9uPWF0dGFjaG1lbnQlM0JmaWxlbmFtZSUzRCUyMnNidC0wLjEzLjguemlwJTIyIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNDM3NzI5Nzc3fSwiSXBBZGRyZXNzIjp7IkFXUzpTb3VyY2VJcCI6IjAuMC4wLjAvMCJ9fX1dfQ__
Signature:peffptUvUMLisjf3AH~QsRv~BOG3I6UMlU-MMfQRZ62D7StDWZ8cwDyraR54iq6t1avVxR3hR~p~8dDKb~bF1oSI6BlcRP0fXQZYz5DIECZ5rELA2W8XX6EIlPUmB6XHFZFlifYIalu8HG7N5WbS6Vrm87-O809GQni~AxuHw92kXrpZy~QmAShlldFNaikNtXqytA1a2ayX-yotY4tafGTvq7zhXgs2zqj4Qw0zp8Lt7rpam3DASgeBXge8mrb118qfoXMd431iMxi-4AjxncLiaDbYXbaCs7j~7SzlNd0jCyLbHbekp58nqjP9hEGdv2KixSwPw4M7D7DwlVc8pA__
Key-Pair-Id:APKAIFKFWOMXM2UMTSFA
Quando eu uso o wget:
wget https://dl.bintray.com/sbt/native-packages/sbt/0.13.8/sbt-0.13.8.zip
Eu recebo 302 e depois 403 neste URL da frente da nuvem
--2015-07-17 11:03:45-- https://dl.bintray.com/sbt/native-packages/sbt/0.13.8/sbt-0.13.8.zip
...........................................
HTTP request sent, awaiting response... 302
Location: https://d29vzk4ow07wi7.cloudfront.net/155d6ff3bc178....[following]
..........................
--2015-07-17 11:03:46- https://d29vzk4ow07wi7.cloudfront.net/155d6ff3bc178...
....................................................
HTTP request sent, awaiting response... 403 Forbidden
2015-07-17 11:03:46 ERROR 403: Forbidden.
Quando uso um URL direto na nuvem como este:
wget "https://d29vzk4ow07wi7.cloudfront.net/5ed3d97f8378...."
Eu recebo 403 e depois 200 OK (há um loop no qual wget provavelmente encurta esse nome). Eu também usei -O e depois também obtive 403 e depois 200 OK na segunda tentativa.
The name is too long, 886 chars total.
.....................................
New name is 5ed3d97f8378....
--2015-07-24 09:19:30-- https://d29vzk4ow07wi7.cloudfront.net/5ed3d97f83782....
.....................................................
HTTP request sent, awaiting response... 403 Forbidden
.....................................................
Trying to shorten...
New name is 5ed3d97f8378....
--2015-07-24 09:19:30-- https://d29vzk4ow07wi7.cloudfront.net/5ed3d97f8378....
.........................................
HTTP request sent, awaiting response... 200 OK
..............................................
2015-07-24 09:19:31 (1.18 MB/s) - '5ed3d97f8378....' saved [1060604/1060604]
Existe algo que estou sentindo falta? Eu não mencionei nada sobre cookies ou cabeçalhos porque no segundo caso eu fiz isso sem ele. Talvez essa reutilização de conexão no segundo exemplo seja a chave?
Versão do Linux:
Linux version 3.10.0-229.7.2.el7.x86_64 ([email protected])
(gcc version 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) )
#1 SMP Tue Jun 23 22:06:11 UTC 2015
versão do wget:
GNU Wget 1.16 built on linux-gnu.