HTML5页面被运营商DNS问题及解决方案,app中h5页面源码的获取

简介: HTML5页面被运营商DNS问题及解决方案,app中h5页面源码的获取

App应用的html5页面经过运营商的移动网络(非wifi网络),被强制插入广告和手机管家的多余信息,在有些场景严重干扰用户的操作,也产生在美丽的页面上加入了不协调的悬浮层。并且这个手机管家类的悬浮层有时间出现,有时间不出现,神出鬼没,虽然你可以通过点击关闭,关键是突然出现,有时候还关闭不了。总之用户不喜欢这种用户不需要的选择,所以干掉它吧!

在app中h5页面源码,可以通过下面代码获得,其中url就是h5页面的源码,简单吧!

分析app收到WebViewJavascriptBridge的页面加载-(void)webViewDidFinishLoad:(UIWebView

*)webView
{
NSString *url = [NSString stringWithContentsOfURL:webView.request.URL encoding: NSUTF8StringEncoding error:nil];
if (webView.canGoBack)
{
self.exitButton.hidden=NO;
}else
{
self.exitButton.hidden=YES;
}
}

通过分析,一个普通的页面,经过Wi-Fi网络,webViewDidFinishLoad只响应一次就能显示出页面。

经过移动手机网络,需要经过三次webViewDidFinishLoad调用,并且三次的h5源码都相同。

基本上从app无法很好的解决方案,除非你的页面只有一层,只让它成功调用次。若你的应用有二级页面很难控制了。

所以最终的解决方案是h5页面。只需要你访问的h5页面采用的是https不是http就能很好的解决这个问题,完美的解决DNS劫持。当然https需要你购买证书或者服务器自己做一个证书,具体https是后台开发的问题我是外行。

2017年1月1日,苹果商店禁止使用http的新应用上架,现在还允许包含http的应用上架,看来也没有一棍子打死。https是比http安全的多,虽然也有破解方案,但是对于防一般人窃取信息就够了。软件安全是相对的,防一般外行,不是防止一切"钻家"(黑客)的。很多人都会感觉黑客都是写软件很好的人,其实并非都如此,很多只对写代码了解皮毛,能简单写代码利用软件漏洞的人不在少数。

谷歌也将要拿http访问的网站开刀了,见文章《洒泪告别 神秘代码终被谷歌逼上绝路》。

WKWebView的h5页面(js页面)的源码获取和UIWebView皆然不同,需要协议拦截,但造成js的post请求的参数被清空的严重问题,所以只能在测试时使用或不需要发送带参数的post请求的js页面使用。具体参照文章《WKWebView采用HybridNSURLProtocol协议拦截图片等资源预加载》。代码片段如下:

- (void)viewDidLoad {
    [super viewDidLoad];
    [self registerNSURLProtocolScheme];
}
- (void)registerNSURLProtocolScheme
{
    [NSURLProtocol wk_registerScheme:@"https"];
    [NSURLProtocol wk_registerScheme:@"http"];
}
-(void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation{
    
    NSString *url = [NSString stringWithContentsOfURL:webView.URL encoding: NSUTF8StringEncoding error:nil];
    NSLog(@"webView.URL:%@",url);
}


目录
相关文章
简约的域名主页HTML源码带暗黑模式
简约的域名主页HTML源码带暗黑模式
342 17
|
7月前
|
监控 数据挖掘 API
快应用报错Module Error 分包要求 app.json#minPlatformVersion 不小于 1061, 当前值为 21解决方案-优雅草卓伊凡
快应用报错Module Error 分包要求 app.json#minPlatformVersion 不小于 1061, 当前值为 21解决方案-优雅草卓伊凡
191 0
|
12月前
简约404错误页面HTML源码
简约404错误页面HTML源码
428 12
HTML单页在线自适应拟态影院源码
HTML单页在线自适应拟态影院源码
302 25
可爱狗狗的404动画HTML源码
可爱狗狗的404动画HTML源码
453 17
可爱狗狗的404动画HTML源码
|
移动开发 前端开发 JavaScript
HTML5实现好看的博客网站模板源码
HTML5实现的精美博客网站模板,适用于个人博客、简历等多种场景。代码简洁规范,页面干净整洁,内置首页、列表、文章等通用模板,支持多种风格切换,兼容性强,易于扩展和修改,附带完整注释,适合初学者上手。提供源码下载及在线预览,方便直接使用或二次开发。
703 1
HTML5实现好看的博客网站模板源码
|
存储 API 文件存储
单页图床HTML源码+本地API接口图床系统源码
图床系统是一种用于存储和管理图片文件的在线服务。它允许用户上传图片文件,并生成相应的图片链接,从而方便用户在网页、社交媒体或其他平台上分享图片。
578 2
单页图床HTML源码+本地API接口图床系统源码
随机二次元背景毛玻璃个人导航HTML源码
随机二次元背景毛玻璃个人导航HTML源码
1175 19
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。

推荐镜像

更多
  • DNS