none
Скачивание файла с Яндекс диска RRS feed

  • Вопрос

  • Доброго времени суток.

    Подскажите как реализовать скачивание файла с яндекс диска с помощью powershell?

    Есть PHP скрипт для реализации данной возможности:

    function get_stat( $url, $headers )
    {
        $handle = curl_init();
        curl_setopt( $handle, CURLOPT_URL, $url );
        curl_setopt( $handle, CURLOPT_HTTPHEADER, $headers );
        curl_setopt( $handle, CURLOPT_SSL_VERIFYPEER, false );
        curl_setopt( $handle, CURLOPT_SSL_VERIFYHOST, false );
        curl_setopt( $handle, CURLOPT_RETURNTRANSFER, true );
        $response = curl_exec( $handle );
        $code = curl_getinfo( $handle, CURLINFO_HTTP_CODE );
        return array( "code" => $code, "response" => $response );
    }
    
    $url_yandex_disk = "https://yadi.sk/i/byMUqoSLiw3Ki";
    
    $result = get_stat( "https://cloud-api.yandex.net:443/v1/disk/public/resources/download?public_key=" . urlencode( $url_yandex_disk ), array() );
    if( $result["code"] == 200 )
    {
      $result["response"] = json_decode( $result["response"], true );
      echo '<a href="' . $result["response"]["href"] . '">Скачать</a>';
    }
    else
    {
      echo "error";
    }

    Как сделать тоже самое но на powershell ? Заранее спасибо

    29 августа 2016 г. 10:06

Ответы

Все ответы

  • $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


    • Помечено в качестве ответа Omni_Vidente 29 августа 2016 г. 10:50
    29 августа 2016 г. 10:39
    Отвечающий
  • Удалось получить следующее:

    $link.content
    {"href":"https://downloader.disk.yandex.ru/disk/e7036aa0ce54d93b1878730115a28bb32f7be79162e5f16591e9ffbc8f4ce49f/57c4466e/Jr3lRoM-Cug8QkiCden6ftW_yDy3zjEKqRzest-2uwCb0M77CIMONCqTlJF3CWsBkGtqtepHpUCbcMbD4Zq0zw%3D%3D?uid=0&filename=kmp4.0.7.1.exe&disposition=attachment&hash=2BwSL7JvcB7hdY0b8efFdaDsN3PnvFwRroGyfw6yEck%3D%3A&limit=0&content_type=application%2Fx-msdownload&fsize=27396243&hid=8d94aa6d2d8e3191b9834c08edba0ec1&media_type=executable&tknv=v2","method":"GET","templated":false}

    Осталось дело за малым удалить из этого лишнее :)



    • Изменено Omni_Vidente 29 августа 2016 г. 10:41
    29 августа 2016 г. 10:40
  • ($link.content | ConvertFrom-Json).href ,но Invoke-RestMethod сразу парсит json
    • Помечено в качестве ответа Omni_Vidente 29 августа 2016 г. 10:47
    29 августа 2016 г. 10:44
    Отвечающий
  • Спасибо все работает
    29 августа 2016 г. 10:47