繁体   English   中英

为什么 $_SERVER["HTTP_REFERER"] 在 Android Webview 中不起作用?

[英]why $_SERVER["HTTP_REFERER"] doesn't work in Android Webview?

我有一个显示webview的 android 应用程序。 php 函数$_SERVER["HTTP_REFERER"]在 android 应用程序中不起作用,但如果我使用股票浏览器(如 chrome)访问同一个网页,它就可以工作

有没有办法解决这个问题?

referer 是一个可选的客户端(用户浏览器)标头。 你不能在那个标题上中继。 当单击同一协议中的链接时,通常由浏览器设置。 如果用户允许或不允许,浏览器可能会设置它。 所以永远不要中继客户端标题。

解决方案:如果您想确保用户来自页面的特殊部分或视图,只需将参数附加到 url 并阅读它。 http://xy/newpage.php?ref=oldpage_id

如果您想从 webview 调用带有标题的页面,您可以手动设置它们:

String url = "http://target.xy/";

Map<String, String> Headers = new HashMap<String, String>();
Hearders.put("Referer", "http://target.xy/referer");

WebView wv;
wv = (WebView) findViewById(R.id.webview);
wv.loadUrl(url, extraHeaders);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM