Я пытаюсь загрузить файл из облачного фронта. Это файловый архив с сайта scala-sbt. При использовании браузера (Chrome) все ок. В основном поток выглядит так:
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
URL-адрес Cloudfront выглядит следующим образом
https://d29vzk4ow07wi7.cloudfront.net/5ed3d97f83782ac965c5eb7256fc52df41dfa317
и содержит параметры
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
Когда я использую wget:
wget https://dl.bintray.com/sbt/native-packages/sbt/0.13.8/sbt-0.13.8.zip
Я получаю 302, а затем 403 по этому URL-адресу облака
--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.
Когда я использую прямой URL-адрес облака:
wget "https://d29vzk4ow07wi7.cloudfront.net/5ed3d97f8378...."
Я получаю 403, а затем 200 ОК (есть цикл, в котором wget, вероятно, сокращает это имя). Я также использовал -O, а затем я получил 403, а затем 200 ОК во второй попытке.
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]
Есть что-то, чего мне не хватает? Я ничего не упоминал о cookie-файлах или заголовках, потому что во втором случае я делал это без него. Может быть, это повторное использование соединения во втором примере является ключом?
Версия для Linux:
Linux version 3.10.0-229.7.2.el7.x86_64 (builder@kbuilder.dev.centos.org)
(gcc version 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) )
#1 SMP Tue Jun 23 22:06:11 UTC 2015
версия wget:
GNU Wget 1.16 built on linux-gnu.