• Как привлечь провайдера к ответственности?

    Jump
    @Jump
    Системный администратор со стажем.
    Как привлечь провайдера к ответственности?
    За что?
    Он нарушил закон, если да, то какой? Или условия договора - если да, то какие?

    Написал в ростелеком - сказали, что сервер не их, их хата с краю и вообще это не их проблемы.
    Разумно.

    Я считаю, что раз ростелеком продставляет этот сервер в маршруте, то он должен хоть как то отвечать за доступность этого маршрута.
    Нет! Провайдер никак не может контролировать и обеспечивать доступность маршрутов и серверов находящихся вне сети провайдера. Это просто невозможно физически.
    Провайдер просто предоставляет вам доступ в глобальную сеть. А дальше уж как повезет.

    Трафик от вашего компьютера до нужного сервера идет через десятки маршрутизаторов, и сетей. И большинство этих маршрутизаторов и сетей не принадлежат вашему провайдеру.
    Потери пакетов если они есть могут быть обусловлены банальной перегруженностью сервера к которому вы обращаетесь или узким каналом, или проблемами у провайдера к которому подключен нужный вам сервер.
    Ответ написан
    Комментировать
  • Можно-ли скачать видео с YouTube используя DevTools?

    Есть такая «секретная» ссылка: www.youtube.com/get_video_info?video_id=XXXXXX
    Вместо XXXXXX подставьте хэш видео, который в ссылке на ролик, типа youtu.be/BWCiWZtrWXU после слеша.

    По этой (первой) ссылке вернутся URL-encoded данные. Распакуйте их и возьмите параметр url_encoded_fmt_stream_map. Его значение опять надо распаковать как URL-параметры. И из результата вытащить параметр url – это ссылка на единый скачивабельный видеофайл.

    Например, в консоли браузера:
    function getUrlParams(search) {
        let hashes = search.slice(search.indexOf('?') + 1).split('&')
        let params = {}
        hashes.map(hash => {
            let [key, val] = hash.split('=')
            params[key] = decodeURIComponent(val)
        })
    
        return params
    }
    var s = '------'; // здесь длиннющая строка из ответа /get_video_info
    var a = getUrlParams(s);
    var b = getUrlParams(a.url_encoded_fmt_stream_map);
    console.log(b.url); // эту ссылку открываем в браузере - это скачиваемый видеофайл


    Очень надеюсь, что вы покопаетесь в этих данных более подробно, разберётесь, как получать прямые ссылки на скачиваемые файлы во всех форматах и размерах, которые предлагает YouTube, и напишете короткий материал на Хабр по результатам, а также опубликуете gist с рабочим кодом для консоли браузера.
    Ответ написан
    3 комментария