0

Java の HTTPUrlConnection クラスを使用して URL にアクセスする Android メディア プレーヤーを作成しています。最近、次の URL に関連するバグ レポートが送信されました。

「http://listen.theradio.cc」

この URL は「http://listen.theradio.cc/theradiocc.pls」にリダイレクトされ、PLS 形式のプレイリストが返されます。私が直面している問題は、私のアプリケーションが通常、content-type ヘッダー フィールドで URL をどう処理するのが最適かを判断することです。上に投稿した URL は、「application/octet-stream」のコンテンツ タイプを返します。これは何でもかまいません。したがって、返されたプレイリストを解析しようとする代わりに、アプリケーションは URL を再生しようとします (これは明らかに失敗します)。このような状況で、URL が返すコンテンツの種類を効果的に判断する他の方法はありますか? InputStream を取得して、返されたコンテンツの最初の数行を確認する必要がありますか?

4

1 に答える 1

1

application/octet-streamサーバーがプレイリストの期待されるコンテンツタイプを返さないため、誤解を招く可能性があります。

サーバー側で修正することをお勧めします。

さらに、HEADリクエストを実行すると、URL の情報を知ることができるはずです。

curl リクエストを行うと、http://listen.theradio.cc/theradiocc.pls以下が返されます。

curl -i http://listen.theradio.cc/theradiocc.pls

HTTP/1.1 200 OK
Server: nginx
Date: Thu, 26 Apr 2012 03:44:42 GMT
Content-Type: application/octet-stream
Content-Length: 111
Last-Modified: Tue, 15 Nov 2011 23:57:04 GMT
Connection: keep-alive
Accept-Ranges: bytes

[playlist]
NumberOfEntries=1
File1=http://theradio.cc:8000/trcc-stream
Title1=TheRadio.CC
Length1=-1
Version=2

したがって、物事を修正し、適切に修正する必要があります。

于 2012-04-26T03:55:13.290 に答える