我正在使用iOS AVPlayer播放HLS流.在HLS会话的开始,当我收到index.m3u8 URL以响应创建AVPlayerItem时,该响应还设置了一个基于会话的验证所需的cookie.说这个cookie名称是myCookie,它是为域“.myhost.com”创建的.现在一切正常,播放器发送myCookie从xxx.myhost.com/stream下载ts块.随着播放继续,播放列表最终被更新,播放器下载更新的播放列表.有时,更新的播放列表包含一个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的域匹配.
请注意,重定向网址域与原始流域相同,也与myCookie的域相同.由于AVPlayer在重定向后不发送cookie以下载块,所以ts块请求失败,403 Forbidden(No Token)
我在这里做错了什么,或者看起来像iOS AVPlayer中的一个bug?