Tôi đang cố gắng phát tệp âm thanh từ máy chủ được bảo vệ bằng xác thực dựa trên phiên và tôi đã nhận thấy rằng cả MPMoviePlayerController và AVPlayerItem/AVPlayer dường như không sử dụng các cookie được đặt trong NSHTTPCookieStorage. Nếu tôi thực hiện cùng một yêu cầu URL bằng cách sử dụng NSURLConnection, tôi nhận được 200 và có thể truy cập tệp âm thanh. Khi tôi theo dõi các yêu cầu thông qua một proxy, dường như MPMoviePlayerController không thiết lập các cookie trong tiêu đề yêu cầu, trong khi NSURLConnection không:Dòng âm thanh iOS từ máy chủ Với dựa trên cookie Auth
Yêu cầu thực hiện với initWithContentURL
MPMoviePlayerController của:
GET /path/on/server/test1.m4a HTTP/1.1
Host: server.example.net
User-Agent: AppleCoreMedia/1.0.0.9A334 (iPhone Simulator; U; CPU OS 5_0 like Mac OS X; en_us)
Accept: */*
Range: bytes=0-1
Accept-Encoding: identity
X-Playback-Session-Id: E8F093F4-C906-46A8-94FE-30BBCFDAB3F6
Connection: keep-alive
Yêu cầu thực hiện với NSURLConnection:
GET /path/on/server/test1.m4a HTTP/1.1
Host: server.example.net
User-Agent: otest (unknown version) CFNetwork/548.0.3 Darwin/11.1.0
Accept: */*
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Cookie: somekey=abc123def456
Connection: keep-alive
Có ai biết cách lấy MPMoviePlayerController hoặc AVPlayerItem để sử dụng NSHTTPCookie khi yêu cầu tài nguyên từ xa không?
Đây cũng là những gì tôi tìm thấy. Tôi đã kết thúc việc sử dụng AudioStreamer của Matt Gallagher và sửa đổi nó để hỗ trợ các tiêu đề HTTP tùy chỉnh: https://github.com/arifken/AudioStreamer –