Android中Webview打开网页的同时发送HTTP头信息方法
众所周知,当你点击一个超链接进行跳转时,WebView会自动将当前地址作为Referer(引荐)发给服务器,因此很多服务器端程序通过是否包含referer来控制盗链,所以有些时候,直接输入一个网络地址,可能有问题,那么怎么解决盗链控制问题呢,其实在webview加载时加入一个referer就可以了,如何添加呢?
从Android2.2(也就是API8)开始,WebView新增加了一个接口方法,就是为了便于我们加载网页时又想发送其他的HTTP头信息的。
publicvoidloadUrl(Stringurl,Map<String,String>additionalHttpHeaders) AddedinAPIlevel8 LoadsthegivenURLwiththespecifiedadditionalHTTPheaders. Parameters urltheURLoftheresourcetoload additionalHttpHeaderstheadditionalheaderstobeusedintheHTTPrequestforthisURL,specifiedasamapfromnametovalue.NotethatifthismapcontainsanyoftheheadersthataresetbydefaultbythisWebView,suchasthosecontrollingcaching,accepttypesortheUser-Agent,theirvaluesmaybeoverridenbythisWebView'sdefaults.
以下是一个简单的demo,来展示以下如何使用。
publicvoidtestLoadURLWithHTTPHeaders(){
finalStringurl="http://jb51.net";
WebViewwebView=newWebView(getActivity());
Map<String,String>extraHeaders=newHashMap<String,String>();
extraHeaders.put("Referer","http://www.google.com");
webView.loadUrl(url,extraHeaders);
}
同样上面也可以应用到UserAgent等其他HTTP头信息。
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短