【问题标题】:Is it possible to add custom request headers when using chrome custom tabs?使用 chrome 自定义选项卡时是否可以添加自定义请求标头?
【发布时间】:2015-11-16 21:57:06
【问题描述】:

计划使用 chrome 自定义选项卡,但是在开始之前,我想知道是否可以拦截请求并在请求中设置类似于 WebViews 的任何标头?

通读文档,找不到任何示例或参考。我能找到的只是 onNavigationEvent 回调,它告诉浏览器正在尝试加载什么 url。

如果需要,是否可以停止任何 url 的导航?

【问题讨论】:

  • 出于好奇,您能否详细说明为什么要设置自定义标题并停止导航?
  • 当然,我的用例是如果网站在某个域中,我想添加一些标题,例如xyz.com(用于跟踪目的)但不为任何其他域添加这些标题。到目前为止,我没有任何停止导航的用例,但我只是好奇我们是否可以这样做,以防我们想阻止用户通过网络深度链接访问某些竞争对手的网站。

标签: chrome-custom-tabs


【解决方案1】:

随着库的最近更新,您现在可以添加 Bundle 并将其作为额外的 CustomTabsIntent 意图传递给 Browser.EXTRA_HEADERS

Bundle headers = new Bundle();
headers.putString("header1", "value1");
headers.putString("header2", "value2");
customTabsIntent.intent.putExtra(Browser.EXTRA_HEADERS, headers);

【讨论】:

【解决方案2】:

我设法按照这种方式为第一个选项卡注入 http 标头:https://medium.com/@_rpiel/chrome-custom-tabs-and-headers-or-a-happy-open-source-story-9c3f82680eea#.l46alsivf

我认为现在后续标签不支持它。

【讨论】:

  • 伟大的开始!但是会希望控制每个域
  • 好吧,如果你只关心第一个标签,你可以检查第一个 url 的域
  • 我希望它这么简单;)如果您阅读原始问题,我需要的用例比第一个选项卡要复杂得多。还需要担心 js 重定向、其他重定向等。
【解决方案3】:

截至今天,无法设置自定义请求标头。无法停止导航。

【讨论】:

  • 知道在未来版本中是否有可能吗?
猜你喜欢
  • 2013-11-13
  • 1970-01-01
  • 1970-01-01
  • 2010-11-13
  • 2016-11-14
  • 2012-11-15
  • 1970-01-01
  • 2017-11-06
  • 1970-01-01
相关资源
最近更新 更多