在HTTP请求中附加应用程序(Android / Iphone / Windows)版本?

时间:2013-06-11 05:31:32

标签: android iphone ios http asp.net-web-api

我的ASP.NET服务器包含Android,Iphone和Windows中的客户端应用程序。我想在HTTP请求标头中附加应用程序版本* (例如2.1.2 我的应用程序版本 *。我应该使用哪个标头?顺便说一下,我知道用户代理。我要求包括我的特定应用程序版本

2 个答案:

答案 0 :(得分:1)

以下是Android客户端的示例。

首先,您需要从应用中获取该版本。这是一个带有版本名称的例子(如果需要,你也可以恢复版本代码)。

String vName = null;
try{     
    vName = getPackageManager().getPackageInfo(getPackageName(),0).versionName;   
} 
catch(NameNotFoundException e){   
}

当您从客户端应用程序请求服务器时,只需将您的版本添加到http标头

HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("https://myserver.com/postrequest");
if(vName != null){
    httppost.addHeader("ClientAppVersion", vName);
}
...

答案 1 :(得分:1)

User-Agent是添加此信息的正确位置。您可以将多个产品/版本组合附加到用户代理标头中。在这种情况下,您的客户端应用程序充当一种用户代理,这是添加此信息的最合适位置。来自HTTP规范

  

该字段可以包含多个产品令牌(第3.8节)和   识别代理商和任何形成代理商的子产品的评论   用户代理的重要部分。

e.g。

User-Agent : foo/1.0 foobar/0.9 foobazbar/2.1