如何在Android KitKat及以上版本的WebView中设置Referer

5

KitKat使用基于Chromium的新WebView,但现在不再通过Referer头传递。我一直按照以下方式操作(这在过去总是有效的,但从KitKat开始不再有效):

headers.put("Referer", referrer);
webView.loadUrl(someUrl, headers);

使用Charles代理进行调试时,我发现没有传递Referer头信息。如果我将该头信息重命名为类似于“Referrer”(带有两个r)的内容,则可以正常通过,尽管这不是解决方案,因为该头信息应该只有一个r。

如果有人在Android WebView上的KitKat及更高版本中传递Referer头信息的工作解决方案,请提供任何帮助!


同样的问题,仍然没有解决方案。 - jennymo
1
在 Google Groups 中发现了这个问题:https://code.google.com/p/android/issues/detail?id=72323。看起来目前还没有解决方案,但会在下一个 Android 版本中修复。 - jennymo
1个回答

2

我有同样的问题。我找到了一个很好的解决方法。如果 Android 版本是 4.4.3 或者 4.4.4,只需传递 header "Referer " (末尾有空格)。完美解决!


太棒了。非常感谢!它有效了。但是它只适用于4.4版本,不适用于更高版本。对于更高版本,我们需要使用无空格的方式。 - Manikandan Selvanathan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接