手机
当前位置:查字典教程网 >编程开发 >安卓软件开发 >Android中Webview打开网页的同时发送HTTP头信息方法
Android中Webview打开网页的同时发送HTTP头信息方法
摘要:众所周知,当你点击一个超链接进行跳转时,WebView会自动将当前地址作为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中Webview打开网页的同时发送HTTP头信息方法】相关文章:

Android中 动态改变对话框值的方法

Android 九宫格的实现方法

Android加载对话框同时异步执行实现方法

基于Android中实现定时器的3种解决方法

Android不读入内存获取图像宽高信息的方法

android中TabHost的图标(48×48)和文字叠加解决方法

android中查看项目数字证书的两种方法

Android开发笔记之:复写按钮方法

Android中获取IMEI码的办法

Android 的Bitmap的修改方法

精品推荐
分类导航