2011-11-03 14 views
6

セッションベースの認証によって保護されたサーバーからオーディオファイルをストリーミングしようとしていますが、MPMoviePlayerControllerとAVPlayerItem/AVPlayerの両方が使用されていないようですCookieはNSHTTPCookieStorageに設定されています。 NSURLConnectionを使用して同じURLリクエストを作成すると、200が得られ、オーディオファイルにアクセスできます。 NSURLConnectionで作ったCookieベースの認証を使用するサーバーからのiOSストリームオーディオ

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 

要求::MPMoviePlayerControllerのinitWithContentURLで作られた

要求:私はプロキシを介して要求を監視する場合、NSURLConnectionはないながらMPMoviePlayerControllerは、リクエストヘッダでクッキーを設定していないように見える

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 

リモートリソースを要求するときに、MPMoviePlayerControllerまたはAVPlayerItemでNSHTTPCookieを使用する方法を知っている人はいますか?

答えて

1

MPMoviePlayerControllerをリモートストリーム/ファイルに使用する場合、AFAIKはクッキー(またはその他の追加のHTTPパラメータ)を強制することはできません。

多分、GET-Parameterはあなたの仕事のための可能な回避策でしょうか?

+2

これは基本的に私が見つけたものです。 Matt GallagherのAudioStreamerをフォークし、カスタムHTTPヘッダーをサポートするように変更しました:https://github.com/arifken/AudioStreamer –

関連する問題