为什么用户代理被发送为“Apache-HttpClient/UNAVAILABLE (java 1.4)”?

12
一个移动应用程序向HTTP服务器发送POST请求,我们用它来处理来自移动应用程序的信息。我们解析HTTP头部,而User-Agent标头在所有使用不同操作系统的Android设备上始终被视为"Apache-HttpClient"。
如果我从Android设备上的应用程序执行任何操作,它会返回用户代理 Apache-HttpClient/UNAVAILABLE (java 1.4)
问题在哪里?它没有提供包含操作系统信息和其他详细信息的用户代理字符串。有人见过类似的行为吗?

这个问题缺少大量的额外信息。 - Henry
@Henry,我刚在工单里添加了更多信息,请告诉我如果还不清楚。 - SONU
1个回答

6

Apache-HttpClient/UNAVAILABLE (java 1.4)是您的应用程序正在使用的Apache客户端的默认用户代理字符串,它本身不是一个错误。

这个客户端对于它运行的系统知之甚少,这是最好的 - 它只是一个简单的一种大小适合所有Android设备(可以是手机、平板电脑、电视甚至汽车!)向外部世界发出http请求的方法。

用户代理字符串是一种让用户代理(浏览器)识别自己的方法。

在Android应用程序的情况下,您的应用程序就是浏览器,因此用户代理字符串由您在应用程序中定义。

请参见:Android通用用户代理(UA)

如果您想发送有关设备的信息,则需要使用您的应用程序收集该信息,然后发送该信息。虽然,如果您正在收集数据,那么最好将其放入请求正文而不是HTTP标头中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接