AVPlayer не может отправить файл cookie для того же домена после перенаправления 302

Я использую iOS AVPlayer для воспроизведения потока HLS. В начале сеанса HLS, когда я получаю URL-адрес index.m3u8 в ответ на создание AVPlayerItem, ответ также устанавливает cookie, который требуется для авторизации на основе сеанса. Скажем, это имя cookie - myCookie, и оно создано для домена ".myhost.com". Теперь все работает нормально, и игрок отправляет myCookie для загрузки кусков ts из xxx.myhost.com/stream. По мере того, как воспроизведение продолжается, плейлист в конечном итоге обновляется, и плеер загружает обновленный список воспроизведения. Иногда обновленный список воспроизведения содержит фрагмент ts для загрузки с URL-адреса с другого хоста. Следовательно, пытаясь сыграть кусок с другим хостом, игрок просит xxx.someotherhost.com загрузить кусок. Это приводит к ответу 302 перенаправления с местоположением: xxx-abc.myhost.com/ads. По-видимому, AVPlayer не отправляет myCookie при запросе части с someotherhost.com, поскольку он не соответствует домену myCookie. Но проблема заключается в перенаправлении на xxx-abc.myhost.com/ads, AVPlayer не отправляет myCookie, хотя домен для URL перенаправления тоже myhost.com, который соответствует домену cookie.

Обратите внимание, что домен URL перенаправления совпадает с доменом исходного потока, а также тем же, что и домен myCookie. Поскольку AVPlayer не отправляет куки файл для загрузки кусков после перенаправления, запросы chs-пакетов терпят неудачу с 403 Запрещенным (No Token)

Я делаю что-то неправильно здесь или это просто похоже на ошибку в AVPlayer iOS?

Есть ли способ исправить эту проблему? Пожалуйста, поделитесь своими мыслями.

Ответ 1

Сделайте образец, демонстрирующий проблему, напишите отчет об ошибке. Затем создайте инцидент DTS, в котором упоминается радар, и что вы ищете обходной путь для того, что, по вашему мнению, является ошибкой.

Это открывает две возможности:

  • инженер может подтвердить ошибку - если неизвестно, они исправит ее, если это дубликат, вы можете запросить информацию о статусе на оригинале
  • DTS достаточно хорошо осведомлен и имеет возможность запрашивать у фактических инженеров AV, что делать в качестве обходного пути

Таким образом, вы тратите меньше времени на поиск, где вы, вероятно, не получите другого ответа, чем это.