Здравствуйте.
Лёгая предыстория: пишу плагин для Set-Top Box Teletec MAG-250 на Javascript для работы с fs.to (это не реклама).
Скрипт разбирает страницу и парсит ссылки на фильмы. Ссылки имеют вид:
_fs.to/get/play/1kqvftg8t6tgu.0.4278037390.974127405.1414671289_hd.mp4
Проблема в том, что при запросе этого URL происходит ещё 2 редиректа. Сам плеер приставки не может справиться с редиректами, видимо получая "302 Moved Temporarily" он сбрасывает соединение. Сам путь, для примера, получается такой:
1.
_fs.to/get/play/1kqvftg8t6tgu.0.4278037390.974127405.1414671289_hd.mp4 (302 Moved Temporarily)
2.
_filecdn.to/fsuaget/YzU0YmFlMWM4ODFmMDExNDJjNWMwNWUzZTZmZGQ2NThmc3RvfDMxMDQyMjU3MDh8MTAwMDB8MnwwfHw5YzA5ZTBkM2RlNjY4NTU5OTA5Y2VlYjNmZDcyZGI0NXwwfDE0MTQ2NzEzMDE,/play_1kqvftg8t6tgu.0.4278037390.974127405.1414671289.mp4 (302 Moved Temporarily)
3.
_n25.filecdn.to/ff/YzU0YmFlMWM4ODFmMDExNDJjNWMwNWUzZTZmZGQ2NTh8ZnN0b3wzMTA0MjI1NzA4fDEwMDAwfDJ8MHw4fDI1fDAxNTkzOWE4NTE0YTg2ZjhiYTVjZDFhZTY2Njc0MDI1fDB8MjY6MS4xODpoLjQxOjEuMjM6ZnwwfDU2NjA0MjM2NnwxNDE0NjcxMzAyLjE4MDk,/play_1kqvftg8t6tgu.0.4278037390.974127405.1414671289.mp4 (200 ОК)
Мне нужно получить последний линк (№3).
Каждый GET запрос имеет в заголовках Location URL, на который будет осуществляться редирект.
Проблема в том, что у меня не получается с объекта jqXHR забрать Header('Location') при редиректах и не получается обработать StatusCode (302 или 200). Запрос не попадает под метод error, AJAX проходит все редиректы и начинает загрузку файла куда-то в кеш.
$.ajax({
type: 'GET',
url: link1,
dataType: 'jsonp',
crossDomain: true,
statusCode: {
302: function(jqXHR) { // сюда мы не попадаем
var location = jqXHR.getResponseHeader('Location');
console.log(location);
}
},
error: function(jqXHR, textStatus, errorThrown) { // и сюда мы не попадаем
var location = jqXHR.getResponseHeader('Location');
console.log(location);
}
});
Подскажите что-нибудь.