android - 如何解析一个非标准的 HTTP 响应?

标签 android apache shoutcast android-4.4-kitkat

我真的很难搞清楚如何解析一个非标准的 HTTP 响应。

非标准响应包含 ICY 200 OK 而不是 HTTP 200 OK。以下是发送非标准 HTTP 响应的示例 URL。
http://50.117.121.162:80

从 Android 4.4 开始 HttpURLConnection将不再使用这些非标准响应。我试过使用 HttpClient由 Apache 开发,但由于没有标准的 HTTP 响应,它无法正常工作。然后我尝试按照指南添加 custom response parser ,但 Android 似乎并不具备执行此操作所需的所有类。

我真的很难找到解决方案。可能在被 HttpClient 解析之前修改非标准响应或 HttpURLConnection可以工作,但我不确定这是否可能...

如有任何帮助,我们将不胜感激。

最佳答案

在对小型/精简版 http 客户端库进行了大量研究之后,我遇到了 apache 的这个端口 httpclient for android .该库提供了对 http 连接的完整支持。然后我简单地修改了源代码,特别是 BasicLineParser 以将 ICY 替换为 HTTP/1.0。

关于android - 如何解析一个非标准的 HTTP 响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19759966/

相关文章:

android - 超出最小未出列缓冲区计数

Android 应用程序在按下后退按钮时退出,而不是导航到上一个屏幕 - Flutter

php - Windows 上痛苦的慢 docker PHP 安装

apache2 - MacPorts Apache2 在启动时停止启动

php - Laravel 5 没有收到任何错误日志

java - 您需要 "complete"了解 Java 才能编写 Android 应用程序吗?

java - 添加 admob jar 文件和类未找到错误

http - 通过 http 请求控制的 shoutcast 流

audio - 使用JPlayer的ShoutCAST流不起作用(无错误)

c# - 将 HTTP 音频流记录到文件