Показать полную графическую версию : Скачать файл с яндекс диска
Omnividente
29-08-2016, 12:00
Доброго времени суток.
Задача следующая, парсю на форуме ссылку на последнюю версию сборки, получаю ссылку на яндекс диск, парсю его но не могу получить ссылку с яндекс диска
Как можно с помощью Powershell скачать файл с яндекс диска?
К примеру https://yadi.sk/d/KpfapfxarDYuC
Omnividente, не совсем понятно что вам надо на данный момент. Вам нужна последняя версия KMP или доступ к Яндекс диску?
Если первое, вот вам прямая ссылка на скачку с офсайта (http://www.kmplayer.com/).
И вообще непонятно каким боком тут Яндекс? Видимо уже и там засветился-подсуетился ;)
Omnividente
29-08-2016, 12:43
Нет это всего лишь пример, там может быть и не KMP.
Мне нужен именно способ скачивания через powershell файлов с яндекс-диска имея ссылку на этот файл.
Omnividente, никак. Ссылка для скачивания формируется в зависимости от кучи параметров в тот момент когда нажимается кнопка "Скачать", причем ссылка зубодробительного вида, например у меня получилось вот такое
https://s98e.storage.yandex.net/rdisk/aec69357b532998a975cab472f11e04407511b35d336de3cbe42f19c8cfec1b6/57c43ff9/Jr3lRoM-Cug8QkiCden6ftW_yDy3zjEKqRzest-2uwCb0M77CIMONCqTlJF3CWsBkGtqtepHpUCbcMbD4Zq0zw==?uid=0&filename=kmp4.0.7.1.exe&disposition=attachment&hash=2BwSL7JvcB7hdY0b8efFdaDsN3PnvFwRroGyfw6yEck%3D&limit=0&content_type=application%2Fx-msdownload&fsize=27396243&hid=8d94aa6d2d8e3191b9834c08edba0ec1&media_type=executable&tknv=v2&rtoken=Y84PIouLfV1z&force_default=no&ycrid=na-fc014046447e88c73fe0bbd54549a204-downloader4d&ts=53b3649253040&7517fca23b71b68ef8e33cab32c3862d&bp=/41/1/data-0.19:29603954431:27396243
Разве что использовать кнопку "Сохранить на яндекс диск" и со своего диска спокойно забирать/удалять через webdav.
$ud = [System.Web.HttpUtility]::UrlEncode("https://yadi.sk/d/KpfapfxarDYuC")
$url = "https://cloud-api.yandex.net:443/v1/disk/public/resources/download?public_key=$ud"
Invoke-WebRequest (Invoke-RestMethod $url).href -OutFile kmp.exe
greg zakharov
30-08-2016, 20:07
Есть еще несколько альтернативных вариантов, правда все они ориентированы на WebDAV. Например, использовать net:
net use * https://webdav.yandex.ru <pass> /user:<user>
Можно обращаться к Яндекс.Диску как к сетевой папке. Такой же подход можно использовать и в PowerShell с помощью командлета New-PSDrive:
New-PSDrive -Name Z -PSProvider FileSystem -Root https://webdav.yandex.ru -Credential $cred
Правда не на всех версиях работает, но все же.
Другой вариант - использовать NetBox в Far.
Если установлен Cygwin, можно использовать cadaver, тот вообще скриптуется довольно просто.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.