Java HTTPUrlConnection和应用程序/八位字节流内容类型响应处理
我正在编写一个Android媒体播放器,它使用Java的HTTPUrlConnection类访问URL。我最近收到一份与以下URL相关的错误报告: "http://listen.theradio.cc"Java HTTPUrlConnection和应用程序/八位字节流内容类型响应处理,java,http,media-player,httpurlconnection,Java,Http,Media Player,Httpurlconnection,我正在编写一个Android媒体播放器,它使用Java的HTTPUrlConnection类访问URL。我最近收到一份与以下URL相关的错误报告: "http://listen.theradio.cc" 此URL重定向到“http://listen.theradio.cc/theradiocc.pls“以PLS格式返回播放列表。我面临的问题是,我的应用程序通常在内容类型标题字段中确定如何处理URL。我在上面发布的URL返回“application/octetstream”的内容类型,可以是任何内
此URL重定向到“http://listen.theradio.cc/theradiocc.pls“以PLS格式返回播放列表。我面临的问题是,我的应用程序通常在内容类型标题字段中确定如何处理URL。我在上面发布的URL返回“application/octetstream”的内容类型,可以是任何内容。因此,我的应用程序没有尝试解析返回的播放列表,而是尝试播放URL(显然失败了)。在这种情况下,有没有其他方法可以有效地确定URL返回的内容类型?我是否应该尝试获取InputStream并检查返回内容的前几行?任何内容都可能是
应用程序/octet流
,因此这是误导性的,因为服务器没有返回播放列表的预期内容类型
最好在服务器端进行修复
另外,在执行HEAD
请求时,应该可以知道URL的信息
向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
所以事情需要得到妥善的解决