首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cobalt的默认用户代理来自哪里?

Cobalt的默认用户代理来自哪里?
EN

Stack Overflow用户
提问于 2017-02-10 01:08:54
回答 2查看 676关注 0票数 0

运行钴时,我可以从日志中看到useragent:

代码语言:javascript
复制
[0101/000230:INFO:application.cc(690)] User Agent: Mozilla/5.0 (DirectFB; Linux x86_64) Cobalt/4.13031-qa (unlike Gecko) Starboard/1

那么它是从哪里来的呢?有办法改变吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-10 01:11:49

默认的useragent设置在以下文件中,您可以进行检查:

factory.cc

代码语言:javascript
复制
std::string UserAgentStringFactory::CreateUserAgentString() {
  // Cobalt's user agent contains the following sections:
  //   Mozilla/5.0 (ChromiumStylePlatform)
  //   Cobalt/Version.BuildNumber-BuildConfiguration (unlike Gecko)
  //   Starboard/APIVersion,
  //   Device/FirmwareVersion (Brand, Model, ConnectionType)
  //   Mozilla/5.0 (ChromiumStylePlatform)
  std::string user_agent =
      base::StringPrintf("Mozilla/5.0 (%s)", CreatePlatformString().c_str());
  //   Cobalt/Version.BuildNumber-BuildConfiguration (unlike Gecko)
  base::StringAppendF(&user_agent, " Cobalt/%s.%s-%s (unlike Gecko)",
                      COBALT_VERSION, COBALT_BUILD_VERSION_NUMBER,
                      kBuildConfiguration);
  //   Starboard/APIVersion,
  if (!starboard_version_.empty()) {
    base::StringAppendF(&user_agent, " %s", starboard_version_.c_str());
  }
  //   Device/FirmwareVersion (Brand, Model, ConnectionType)
  if (youtube_tv_info_) {
    base::StringAppendF(
        &user_agent, ", %s_%s_%s/%s (%s, %s, %s)",
        youtube_tv_info_->network_operator.value_or("").c_str(),
        CreateDeviceTypeString().c_str(),
        youtube_tv_info_->chipset_model_number.value_or("").c_str(),
        youtube_tv_info_->firmware_version.value_or("").c_str(),
        youtube_tv_info_->brand.c_str(), youtube_tv_info_->model.c_str(),
        CreateConnectionTypeString().c_str());
  }
  return user_agent;
}
票数 1
EN

Stack Overflow用户

发布于 2017-12-08 20:07:08

如果您的SbSystemGetDeviceType()适用于SystemDeviceTypeIsTv() (在user_agent_string_factory_starboard.cc文件中),您可以通过实现SbSystemGetProperty() +一些SbSystemGet()函数的一些字段来自定义UA。

这是一个典型的例子:

Mozilla/5.0 (1) Cobalt/11.119147-金色(不像壁虎)右舷/8,347

哪里,

  1. kSbSystemPropertyPlatformName
  2. kSbSystemPropertyNetworkOperatorName
  3. kSbSystemPropertyManufacturerName
  4. kSbSystemPropertyModelName
  5. kSbSystemPropertyFirmwareVersion
  6. kSbSystemPropertyChipsetModelNumber
  7. SbSystemGetConnectionType()
  8. SbSystemGetDeviceType()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42149860

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档