公司做网站让拍照备案/一个新公众号怎么吸粉
获取网站视频真实链接
直接上工具类
直接调用即可,这个工具类会返回加载的网页中所有的链接,至于对链接怎么处理就是你们自己的事了, 亲测至今我所遇到的所有视频,它都可以捕获到其链接
import android.app.Activity;
import android.graphics.Bitmap;
import android.net.http.SslError;
import android.os.Build;
import android.support.annotation.RequiresApi;
import android.view.ViewGroup;
import android.webkit.CookieManager;
import android.webkit.CookieSyncManager;
import android.webkit.SslErrorHandler;
import android.webkit.WebResourceRequest;
import android.webkit.WebResourceResponse;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.LinearLayout;import java.util.Timer;
import java.util.TimerTask;/*** Created by Administrator on 2018/3/22.*/public class ParseWebUrlHelper {private static ParseWebUrlHelper parseWebUrlHelper;private String webUrl;private Activity mAct;private WebView webView;private int timeOut = 20 * 1000;private OnParseWebUrlListener onParseListener;public static ParseWebUrlHelper getInstance() {if (parseWebUrlHelper == null) parseWebUrlHelper = new ParseWebUrlHelper();return parseWebUrlHelper;}public ParseWebUrlHelper init(Activity act, String url) {this.mAct = act;this.webUrl = url;ViewGroup mainView = (ViewGroup) mAct.findViewById(android.R.id.content);this.webView = new WebView(mAct);this.webView.setLayoutParams(new LinearLayout.LayoutParams(1, 1));mainView.addView(this.webView);initWebSettings();return this;}private void initWebSettings() {WebView mWebView = this.webView;mWebView.clearFocus();WebSettings mWebSettings = mWebView.getSettings();mWebSettings.setJavaScriptEnabled(true);mWebSettings.setDefaultTextEncodingName("utf-8");mWebSettings.setCacheMode(WebSettings.LOAD_DEFAULT);mWebSettings.setPluginState(WebSettings.PluginState.ON);mWebSettings.setDisplayZoomControls(false);mWebSettings.setUseWideViewPort(true);mWebSettings.setAllowFileAccess(true);mWebSettings.setAllowContentAccess(true);mWebSettings.setSupportZoom(true);mWebSettings.setAllowContentAccess(true);mWebSettings.setLoadWithOverviewMode(true);mWebSettings.setBuiltInZoomControls(true);// 隐藏缩放按钮mWebSettings.setUseWideViewPort(true);// 可任意比例缩放mWebSettings.setLoadWithOverviewMode(true);// setUseWideViewPort方法设置webview推荐使用的窗口。setLoadWithOverviewMode方法是设置webview加载的页面的模式。mWebSettings.setSavePassword(true);mWebSettings.setSaveFormData(true);// 保存表单数据mWebSettings.setJavaScriptEnabled(true);mWebSettings.setTextZoom(100);mWebSettings.setDomStorageEnabled(true);mWebSettings.setSupportMultipleWindows(true);// 新加//我就是没有这一行,死活不出来。MD,硬是没有人写这一句!if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {mWebSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);}if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {mWebSettings.setMediaPlaybackRequiresUserGesture(true);}if (Build.VERSION.SDK_INT >= 16) {mWebSettings.setAllowFileAccessFromFileURLs(true);mWebSettings.setAllowUniversalAccessFromFileURLs(true);}mWebSettings.setJavaScriptCanOpenWindowsAutomatically(true);mWebSettings.setLoadsImagesAutomatically(true);mWebSettings.setAppCacheEnabled(true);mWebSettings.setAppCachePath(mAct.getCacheDir().getAbsolutePath());mWebSettings.setDatabaseEnabled(true);mWebSettings.setGeolocationDatabasePath(mAct.getDir("database", 0).getPath());mWebSettings.setGeolocationEnabled(true);CookieManager instance = CookieManager.getInstance();if (Build.VERSION.SDK_INT < 21) {CookieSyncManager.createInstance(mAct.getApplicationContext());}instance.setAcceptCookie(true);if (Build.VERSION.SDK_INT >= 21) {instance.setAcceptThirdPartyCookies(mWebView, true);}mWebView.setWebViewClient(new MyWebViewClient());enabledCookie(webView);//启用cookie}public ParseWebUrlHelper setLoadUrl(String url){this.webUrl=url;return this;}public ParseWebUrlHelper startParse(){webView.loadUrl(this.webUrl);return this;}/*启用cookie*/private void enabledCookie(WebView web) {CookieManager instance = CookieManager.getInstance();if (Build.VERSION.SDK_INT < 21) {CookieSyncManager.createInstance(mAct);}instance.setAcceptCookie(true);if (Build.VERSION.SDK_INT >= 21) {instance.setAcceptThirdPartyCookies(web, true);}}public ParseWebUrlHelper setOnParseListener(OnParseWebUrlListener onParseListener) {this.onParseListener = onParseListener;return this;}private class MyWebViewClient extends WebViewClient {@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)@Overridepublic boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {if(request.getUrl().toString().startsWith("intent")||request.getUrl().toString().startsWith("youku")){return true;}else{return super.shouldOverrideUrlLoading(view, request);}}@Overridepublic boolean shouldOverrideUrlLoading(WebView view, String url) {if(url.startsWith("intent")||url.startsWith("youku")){return true;}else{return super.shouldOverrideUrlLoading(view, url);}}/*解决ssl证书问题*/@Overridepublic void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {handler.proceed();}@Overridepublic WebResourceResponse shouldInterceptRequest(WebView view, String url) {onParseListener.onFindUrl(url);return super.shouldInterceptRequest(view, url);}@Overridepublic WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {String url = request.getUrl().toString();onParseListener.onFindUrl(url);}return super.shouldInterceptRequest(view, request);}@Overridepublic void onPageStarted(WebView view, String url, Bitmap favicon) {// TODO: Implement this methodsuper.onPageStarted(view, url, favicon);startConut();//加载超时处理}}/*解决webview加载超时问题*/private void startConut(){final Timer timer=new Timer();TimerTask timerTask=new TimerTask(){@Overridepublic void run(){onParseListener.onError("解析视频超时,请检查网速或网络是否出现问题...");timer.cancel();timer.purge();}};timer.schedule(timerTask,timeOut,1);}public interface OnParseWebUrlListener {void onFindUrl(String url);void onError(String errorMsg);}
}
调用
//初始化
this.parseWebUrlHelper=ParseWebUrlHelper.getInstance().init(this.mAct,"");
//解析网页中视频
parseWebUrlHelper.setOnParseListener(new ParseWebUrlHelper.OnParseWebUrlListener() {@Overridepublic void onFindUrl(String url) {Log.d("webUrl",url);//*****处理代码}@Overridepublic void onError(String errorMsg) {//****出错监听}
问题
Q:webview某些视频加载不出来问题
A:http://blog.csdn.net/u013148839/article/details/65448474
Q:webview拦截请求
A:https://segmentfault.com/a/1190000006805635
Q:webview由于证书问题导致不能正常加载网页问题:
A:http://blog.csdn.net/sd19871122/article/details/54632199
他人总结
1.http://www.cnblogs.com/lee0oo0/p/4026774.html
获取webview完整源码[包括iframe源码]
主要问题
动态加载
iframe嵌套
0.window也算一个frame
1.得到frame
2.判断frame的url是否已被查找
3.判断frame是否是同域名
4.同域名直接正常查找
5.不同域名直接单独加载frame的url,当成一个新的页面处理
6.一直查找直到发现一个video标签
iframe链接单独打开被检测到问题
次要问题
去除Chrome反调试
无限断点反调试
参考:https://blog.csdn.net/zzgzzg00/article/details/79504827
完结
编程这种事真是太容易跑偏了,我明明最根本的目的就是为了获取网站视频链接的,然后发现有些网站的源码获取不全,然后目的就悄然变成了去获取源码,然后折腾了几天依然没解决这个获取源码的问题,然后猛然记起以前研究过相同的问题,并且还写了一篇获取视频链接的文章,这才是真正的造轮子吧,明明已经研究过一次了,相同的问题明明已经遇到过一次了,为何这次又掉坑里了?而且掉坑里几天了,居然没意识过来,唉,笨啊,真实不长记性啊,到了最后才发现我获取源码的目的就是为了获取视频链接,说来还是我以前写的这篇文章发挥了作用:Web逆向之通过Android中WebView获取网站视频真实链接
参考
1.攻破iframe围城
2.Python爬虫关于多层嵌套iframe的解决
3.爬虫获取:解决动态加载数据和frame框架问题
4.java爬虫进阶 —— ip池使用,iframe嵌套,异步访问破解
相关文章:

那些年的Webview开发经验记录
获取网站视频真实链接 直接上工具类 直接调用即可,这个工具类会返回加载的网页中所有的链接,至于对链接怎么处理就是你们自己的事了, 亲测至今我所遇到的所有视频,它都可以捕获到其链接 import android.app.Activity; import an…...

ssh-keygen详解
ssh-keygen命令参数详解 -b BITS指定密钥长度。 -e读取私有或公共 OpenSSH 密钥文件并以 -m 选项指定的格式之一将密钥打印到标准输出。 -C添加注释。 -f FILENAME指定用来保存密钥的文件名。 -i以 -m 选项指定的格式读取未加密的私钥(或公钥)文件&…...

自动方向识别式 LSF型电平转换芯片
大家好,这里是大话硬件。 今天这篇文章想分享一下电平转换芯片相关的内容。 其实在之前的文章分享过一篇关于电平转换芯片的相关内容,具体可以看链接《高速电路逻辑电平转换设计》。当时这篇文章也是分析的电平转换芯片,不过那时候更多的是…...

轻量的工作流引擎:告别低效,创造新高!
伴随着日益激烈的市场竞争,作为新时代的企业,如何在众多同质化竞争中脱颖而出,占有更多的市场份额,实现更大发展?此时此刻就需要拥有不同寻常的头脑,寻找不平常的路径,轻量的工作流引擎是低代码…...

Linux-mysql安装
1. 获取rpm wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm 2. 安装rpm rpm -ivh mysql57-community-release-el7-9.noarch.rpm 3. 确认依赖文件 cd /etc/yum.repos.d ls 查看该文件夹下是否已存在如下两个文件 4. import mysql 的公钥到RPM…...

山东布谷科技直播平台搭建游戏开发技术分享:数据存储的重要意义
在市场上的热门的直播平台中,有很多小程序为用户提供各种各样的功能,这其中就有很多游戏小程序,当今社会独生子女众多,很多作为独生子女的用户都会去选择一个能够社交互动的APP来填补内心的空虚,而直播平台的实时互动的…...

MyBatisPlus的介绍
本资料仅用于学习和讨论,如有侵权请反馈 https://mp .baomidou. com/ MyBatis-Plus 1.1 为什么网站叫做苞米逗是国人开发的 1.2 点击快速开发 1.3 点击快速开始 1.4 Mybatis的特性 2、快速的把数据层的标准开发给做完: 2.1上来就来标准开发了…...

麻省理工学院利用水泥和炭黑制造出超级电容器
麻省理工学院的研究人员展示了一种使用低成本水泥和炭黑的制造的超级电容器,这一发明可能会彻底颠覆可再生能源的存储。 为了解决太阳能、风能和潮汐能等间歇性和非周期性电源的普及问题,实用并且廉价的电力储存技术一直是重要的环节。MIT的研究人员最…...

【Spring Cloud Alibaba】Linux安装RocketMQ以及RocketMQ Dashboard可视化工具
环境准备:Linux安装Java环境(OracleJDK) 在当今分布式架构的开发中,消息队列成为了一种常见的解决方案。RocketMQ是阿里巴巴开源的分布式消息中间件,具有高吞吐量、高可用性和强大的扩展性,因此在构建大规模…...

【杂谈】电脑城的消失:时代变迁中的一段峡谷
导语:在过去很长一段时间里,想要购买电子设备都逃不开一个叫“电脑城”的地方,那里鱼龙混杂良莠不齐,是令许多人记忆深刻分外难忘之处。但是随着时代发展电商兴起,采用传统线下销售的电脑城却逐渐衰退甚至面临消失&…...

Webpack怎么使用?
Webpack 使用 前几篇文章中已经介绍了如何初始化包管理器 package.json 这里不再重复介绍,如有需要请查看 搭建工程化项目。 安装 :::warning 注意 请确保你已经安装了 yarn,如有需要请查看 搭建工程化开发环境。 ::: 通过命令 yarn add webpack web…...

异步编排CompletableFuture
文章目录 一.简介二.并行加载1.为何需要并行加载2.并行加载的实现方式 三.CompletableFuture使用与原理1.背景和定义2.常用方法3.CompletableFuture的使用3.CompletableFuture原理4.实践总结 一.简介 CompletableFuture由Java 8提供,是实现异步化的工具类ÿ…...

linux_常用命令
一、日常使用命令/常用快捷键命令 开关机命令 1、shutdown –h now:立刻进行关机 2、shutdown –r now:现在重新启动计算机 3、reboot:现在重新启动计算机 4、su -:切换用户;passwd:修改用户密码 5、logou…...

Mac OS键盘常用快捷键
图形按键⌘Command 键⌃Control 键⌥Option 键⇧Shift 键⇪Caps Lockfn功能键 常用快捷键剪切、拷贝和粘贴 您可以在大多数 app 中使用这些快捷键来剪切、拷贝或粘贴选中的项目。其中包括文本、图片、音乐等等。您甚至可以在 Finder 中拷贝和粘贴文件,来将文件拷贝到…...

【腾讯云 Cloud Studio 实战训练营】通过云IDE构建Web3项目
iOS开发上架主页 在强者的眼中,没有最好,只有更好。 移动开发领域优质创作者,阿里云专家博主 文章目录 背景一、 前言二、 Cloud Studio 主要功能和应用场景三、Cloud Studio 实验前期准备3.1. 打开官网3.2. 注册 Cloud Studio:…...

湖南麒麟系统非正常关机导致VNC启动失败原因分析
1、故障描述 掉电后,启动vncserver无法启动,或启动后连接vncserver黑屏 2、影响范围 非正常关机流程的机器 3、故障处理过程 第一次开机后vncserver服务无法正常启动,使用restart手动也无法拉起。按照现场人员提醒使用reboot命令重启机器…...

机器学习---监督学习和非监督学习
根据训练期间接受的监督数量和监督类型,可以将机器学习分为以下四种类型:监督学习、非监督学习、半监督学习和强化学习。 监督学习 在监督学习中,提供给算法的包含所需解决方案的训练数据,成为标签或标记。 简单地说,…...

【OS】请问,一个需要运行内存10GB的游戏,可以运行在32位物理内存为64GB的电脑上吗?
答案: 可以 解释 操作系统虽然是32位,限制了电脑的虚拟内存最大值为 4GB。如果,电脑开启了虚拟内存,则该款10GB运存的游戏是不可能开启的。期望开启这款游戏的做法是,在这个物理内存为64GB的电脑上关闭虚拟内存机制&…...

C语言 冒泡排序
目录 一、原理 二、代码演示 三、代码优化 一、原理 假设: int arr[] { 9,8,7,6,5,4,3,2,1,0 }; 将 arr 内的元素进行升序排列,得到一个新的数组 int arr[] { 0,1,2,3,4,5,…...

docker相关命令总结(停止、重启、重加载配置文件)
常用命令 # 配置 Docker 守护进程的行为和参数 vi /etc/docker/daemon.json# 停止docker服务 sudo systemctl stop docker# 启动 Docker 服务: sudo systemctl start docker# 重新加载systemd守护程序的配置文件,不会重启服务(配置文件&…...

Linux 命令大全(下)
Linux 命令大全(上) 本文目录 6. 网络通讯 常用命令6.1 ssh 命令 – 安全的远程连接服务器6.1.1 含义6.1.2 语法格式6.1.3 常用参数6.1.4 参考示例 6.2 netstat 命令 – 显示网络状态6.2.1 含义6.2.2 语法格式6.2.3 常用参数6.2.4 参考示例 6.3 dhclient…...

Babylon.js着色器简明简称【Shader】
推荐:用 NSDT设计器 快速搭建可编程3D场景 为了生成 BabylonJS 场景,需要用 Javascript 编写代码,BabylonJS 引擎会处理该代码并将结果显示在屏幕上。 场景可以通过改变网格、灯光或摄像机位置来改变。 为了及时显示可能的变化,屏…...

深入理解Linux内核--信号
信号的作用 信号(signal)是很短的消息,可以被发送到一个进程或一组进程。 使用信号的两个主要目的是: 1.让进程知道已经发生了一个特定的事件。 2.强迫进程执行它自己代码中的信号处理程序。 POSIX标准还引入了一类新的信号,叫做…...

转圈打印矩阵
转圈打印矩阵 【题目】 给定一个整型矩阵 matrix,请按照转圈的方式打印它。 例如: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 打印结果为:1,2,3,4,8,12,16,1…...

Elasticsearch 与 OpenSearch:揭开性能差距
作者:George Kobar, Ugo Sangiorgi 对于任何依赖快速、准确搜索数据的组织来说,强大、快速且高效的搜索引擎是至关重要的元素。 对于开发人员和架构师来说,选择正确的搜索平台可以极大地影响你的组织提供快速且相关结果的能力。 在我们全面的…...

100个Java工具类之41:系统工具类Apache之SystemUtils
系统工具类Apache之 org.apache.commons.lang3.SystemUtils 根据Apache SystemUtils源码中介绍,SystemUtils是java.lang.System的帮助程序。当因安全限制无法读取系统属性时,则会返回null。下面是为大家整理的几个主要用法。 一、获取主机名 String ho…...

maven Jar包反向install到本地仓库
maven Jar包反向install到本地仓库 需求实现 需求 项目打包时报错,缺少一个jar包。 但是在maven仓库都找不到此jar包,其他人提供了这个jar包。 需要把这个jar包install到本地仓库,使项目能正常打包运行。 实现 使用git bash命令执行以下脚…...

.NET6使用SqlSugar操作数据库
1.//首先引入SqlSugarCore包 2.//新建SqlsugarSetup类 public static class SqlsugarSetup{public static void AddSqlsugarSetup(this IServiceCollection services, IConfiguration configuration,string dbName "ConnectString"){SqlSugarScope sqlSugar new Sq…...

MySQL8是什么-MySQL8知识详解
从今天起,开始更新MySQL8的教程,今天更新MySQL8的第一篇文章,主要讲了MySQL8是什么、MySQL数据库的概念、MySQL的优势和MySQL的发展历史。 1、MySQL8是什么 MySQL 8是一个开源的关系型数据库管理系统。它是MySQL数据库的最新版本,…...

Spring Gateway+Security+OAuth2+RBAC 实现SSO统一认证平台
背景:新项目准备用SSO来整合之前多个项目的登录和权限,同时引入网关来做后续的服务限流之类的操作,所以搭建了下面这个系统雏形。 关键词:Spring Gateway, Spring Security, JWT, OAuth2, Nacos, Redis, Danymic datasource, Jav…...