一个示例移动应用程序将POST请求发送到HTTP服务器,我们使用该服务器来处理从移动应用程序发送的信息。我们解析HTTP header ,并且在所有具有不同OS的Android设备上,User-Agent header 始终被视为“Apache-HttpClient”。
如果我从android设备中的应用执行任何操作,则将用户代理返回为Apache-HttpClient/UNAVAILABLE (java 1.4)
有什么问题?它没有为我提供包含诸如OS信息和其他详细信息之类的信息的用户代理字符串。
最佳答案
Apache-HttpClient/UNAVAILABLE (java 1.4)
是您的应用程序使用的Apache客户端的默认用户代理字符串,它本身不是错误。
该客户对其运行的系统知之甚少,这是最好的-这只是适用于Android设备(可能是手机,平板电脑,电视甚至是汽车!)向外界发出http请求。
用户代理字符串是用户代理(请参阅“浏览器”)标识自己的一种方法。
对于Android应用程序,您的应用程序是浏览器,因此用户代理字符串供您在应用程序中定义。
另请:Android Generic User Agent (UA)
如果要发送有关设备的信息,则需要使用您的应用收集该信息,然后再发送。但是,如果要收集这些数据,则最好将其放在请求的正文中,而不要放在HTTP header 中。
关于android - 为什么将用户代理作为 "Apache-HttpClient/UNAVAILABLE (java 1.4)”发送,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25928252/