如何在webView的url中发送referer请求

我需要显示一个网页在我的Android应用程序正在寻找一个引用绕过安全。 我是Android的新手,所以我知道如何在Web视图中显示网页,但不知道如何发送“引用者”以及URL请求。 我相信它将需要更新HTTPHeaderField,但我无法在Android中find任何参考。 下面的代码是我用来调出网页,但没有“引用者”它说“访问被拒绝”

WebView webview = new WebView(this); setContentView(webview); webview.loadUrl("http://www.mywebsite.com"); 

我认为答案可能在于增加额外的头文件的WebView.LoadURL方法,但我找不到任何它的例子。

Solutions Collecting From Web of "如何在webView的url中发送referer请求"

您需要哪种API级别的API级别?

由于API Level 8还有第二个loadUrl函数:

  public void loadUrl (String url, Map<String, String> extraHeaders) 

使用extraHeaders你应该能够发送一个引用者。


编辑:

这是一个完整的工作示例

  String url = "http://www.targetserver.tld/"; Map<String, String> extraHeaders = new HashMap<String, String>(); extraHeaders.put("Referer", "http://www.referer.tld/login.html"); WebView wv; wv = (WebView) findViewById(R.id.webview); wv.loadUrl(url, extraHeaders); 

您将需要使用Intent Filters来捕获和修改WebView请求。

假设您需要将doamin.com/page.html指定为引用者

  1. 设置意图filter来捕获WebView中的所有http请求
  2. 如果请求是“doamin.com/page.html”,则返回具有刷新标签的预定义页面,以将用户发送到“http://www.mywebsite.com&#x201D;
  3. domain.com/page.html将作为推荐者发送到mywebsite.com

在较新的API中,您可以在loadUrl本身中指定标题。