WebTorrent Broken - PullRequest
       45

WebTorrent Broken

0 голосов
/ 21 июня 2019

Я пытаюсь понять, как заставить веб-торрент воспроизводить видео, но я получаю некоторые странные ошибки.Вот пастбина: https://pastebin.com/raw/3wp5F8Fh

А вот живая версия: https://41182065 -e8d9-40b1-8dd9-9433b402bce9.htmlpasta.com /

Когдазаходим в консоль chrome, получаем:

Mixed Content: The page at 'https://41182065-e8d9-40b1-8dd9-9433b402bce9.htmlpasta.com/' was loaded over HTTPS, but requested an insecure script 'http://momentjs.com/downloads/moment.min.js'. This request has been blocked; the content must be served over HTTPS.
/favicon.ico:1 Failed to load resource: the server responded with a status of 404 ()
(index):1 Access to XMLHttpRequest at 'https://nyaa.si/download/941788.torrent' from origin 'https://41182065-e8d9-40b1-8dd9-9433b402bce9.htmlpasta.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
webtorrent.min.js:4 Uncaught Error: Error downloading torrent: XHR error
    at webtorrent.min.js:5
    at t.exports.<anonymous> (webtorrent.min.js:7)
    at t.exports.t (webtorrent.min.js:5)
    at t.exports.r.emit (webtorrent.min.js:4)
    at XMLHttpRequest.c.onerror (webtorrent.min.js:7)

1 Ответ

0 голосов
/ 21 июня 2019

Объяснение содержится в сообщении об ошибке, но вкратце: ваш браузер заблокировал запрос, потому что вы используете AJAX для связи с удаленным сервером, и этот сервер не отправляет соответствующий 'Access-Control-Allow-Origin'header.

Причина, по которой такие запросы блокируются, заключается в том, чтобы защитить вас от вредоносных сценариев - если вы вошли на веб-сайт A и имеете доступ к некоторым личным данным, то веб-сайт B не должен иметь возможность инициироватьAJAX-запрос на доступ к этим данным, если только A не доверяет B.

Общий термин для этого вида доступа - «Распределение ресурсов между источниками» или «CORS» - для получения дополнительной информации Mozilla имеет хорошее резюме здесь: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS

Если у вас есть контроль над удаленным сервером, то ответ с соответствующим заголовком позволит выполнить запрос (хотя учтите, что некоторые браузеры, такие как Safari, по-прежнему блокируют файлы cookie с удаленного сервера, поскольку этот метод можетиспользоваться для отслеживания).

...