HTTP请求中用户代理的相关性

时间:2015-08-07 04:19:44

标签: android ios http http-headers

我的朋友在iOS中实现了一个HTTP POST请求,但它运行正常。

我尝试在Android中实现相同功能,但在添加用户代理之前它不起作用(我在一些嗅探工具的帮助下得到了它)。

但在iOS中,他没有指定用户代理。

所以,

  • HTTP请求中用户代理的相关性是什么?
  • 为什么iOS和Android之间不一致?

1 个答案:

答案 0 :(得分:0)

iOS默认情况下已指定用户代理。在iOS上使用NSURLConnection发送的用户代理是

User-Agent: <app identifier>/<app version> CFNetwork/609.1.4 Darwin/12.4.0

其中<app identifier>是您的包ID(例如com.company.app),<app version>是您应用的当前版本。显然,根据您的经验,Android不会为(非浏览器)HTTP请求设置默认用户代理。

服务器可以使用此信息来调整其响应客户的需求;例如显示网页的移动版本而不是桌面版本,或者只是不返回任何内容(以防止简单的屏幕抓取)。