Android中Webview打开网页的同时发送HTTP头信息方法

 更新时间:2015年01月17日 10:07:37   投稿:junjie  
这篇文章主要介绍了Android中Webview打开网页的同时发送HTTP头信息方法,本文是讲解的是一种通过修改Referer来控制盗链的方法,需要的朋友可以参考下

众所周知,当你点击一个超链接进行跳转时,WebView会自动将当前地址作为Referer(引荐)发给服务器,因此很多服务器端程序通过是否包含referer来控制盗链,所以有些时候,直接输入一个网络地址,可能有问题,那么怎么解决盗链控制问题呢,其实在webview加载时加入一个referer就可以了,如何添加呢?

从Android 2.2 (也就是API 8)开始,WebView新增加了一个接口方法,就是为了便于我们加载网页时又想发送其他的HTTP头信息的。

复制代码 代码如下:

public void loadUrl (String url, Map<String, String> additionalHttpHeaders)
Added in API level 8
Loads the given URL with the specified additional HTTP headers.
Parameters
url the URL of the resource to load
additionalHttpHeaders the additional headers to be used in the HTTP request for this URL, specified as a map from name to value. Note that if this map contains any of the headers that are set by default by this WebView, such as those controlling caching, accept types or the User-Agent, their values may be overriden by this WebView's defaults.

以下是一个简单的demo,来展示以下如何使用。

复制代码 代码如下:

public void testLoadURLWithHTTPHeaders() {
    final String url = "http://jb51.net";
    WebView webView = new WebView(getActivity());
    Map<String,String> extraHeaders = new HashMap<String, String>();
    extraHeaders.put("Referer", "http://www.google.com");
    webView.loadUrl(url, extraHeaders);
}

同样上面也可以应用到UserAgent等其他HTTP头信息。

相关文章

  • Android闹钟机制实现定时任务功能

    Android闹钟机制实现定时任务功能

    这篇文章主要为大家详细介绍了Android闹钟机制实现定时任务功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • Flutter中ListView 的使用示例

    Flutter中ListView 的使用示例

    这篇文章主要介绍了Flutter中ListView 的使用示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • Android自定义 WebView浏览器

    Android自定义 WebView浏览器

    WebView是Android中一个非常实用的组件,它和Safai、Chrome一样都是基于Webkit网页渲染引擎。接下来通过本文给大家介绍android自定义webview浏览器,感兴趣的朋友一起学习吧
    2016-05-05
  • Android自定义日历Calender代码实现

    Android自定义日历Calender代码实现

    这篇文章主要为大家详细介绍了Android自定义日历Calender实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • Android基于高德地图完全自定义Marker的实现方法

    Android基于高德地图完全自定义Marker的实现方法

    这篇文章主要给大家介绍了关于Android基于高德地图完全自定义Marker的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-07-07
  • Android ListView滚动到底后自动加载数据

    Android ListView滚动到底后自动加载数据

    这篇文章主要为大家详细介绍了Android之ListView滚动到底后自动加载数据,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • Android判断定位功能是否可用的方法

    Android判断定位功能是否可用的方法

    今天小编就为大家分享一篇Android判断定位功能是否可用的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • Android编程向服务器发送请求时出现中文乱码问题的解决方法

    Android编程向服务器发送请求时出现中文乱码问题的解决方法

    这篇文章主要介绍了Android编程向服务器发送请求时出现中文乱码问题的解决方法,实例分析了Android参数传递过程中中文乱码的解决技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-11-11
  • Android在JNI中使用ByteBuffer的方法

    Android在JNI中使用ByteBuffer的方法

    这篇文章主要介绍了Android在JNI中使用ByteBuffer的方法,涉及Android中缓冲区的相关使用技巧,需要的朋友可以参考下
    2015-04-04
  • Android仿音乐播放器带进度的播放暂停按钮

    Android仿音乐播放器带进度的播放暂停按钮

    这篇文章主要为大家详细介绍了Android仿音乐播放器带进度的播放暂停按钮,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12

最新评论