2011-11-03 12 views
6

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?

Trả lời

1

Có AFAIK không có cách nào để thực thi cookie (hoặc bất kỳ tham số HTTP bổ sung nào khác) khi sử dụng MPMoviePlayerController trên luồng/tệp từ xa.

Có thể tham số GET có thể là giải pháp khả thi cho công việc của bạn?

+2

Đâ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 –

Các vấn đề liên quan