当前位置: 首页 > news >正文

福建建设信息网站客户案例 网站设计

福建建设信息网站,客户案例 网站设计,正能量不良网站进入窗口免费阅读,如何做网站的伪静态页面获取网站视频真实链接 直接上工具类 直接调用即可#xff0c;这个工具类会返回加载的网页中所有的链接#xff0c;至于对链接怎么处理就是你们自己的事了#xff0c; 亲测至今我所遇到的所有视频#xff0c;它都可以捕获到其链接 import android.app.Activity; import an…获取网站视频真实链接 直接上工具类 直接调用即可这个工具类会返回加载的网页中所有的链接至于对链接怎么处理就是你们自己的事了 亲测至今我所遇到的所有视频它都可以捕获到其链接 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.webUrlurl;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 timernew Timer();TimerTask timerTasknew 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.parseWebUrlHelperParseWebUrlHelper.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嵌套异步访问破解
http://www.w-s-a.com/news/731408/

相关文章:

  • 网站维护的要求包括锦溪网站建设
  • 金站网.营销型网站学校安全教育网站建设
  • 临沂市建设局网站公示军事新闻头条2023
  • 购物网网站建设lamp 做网站
  • 做网站网站庄家html5网站开发技术
  • 无锡门户网站制作电话广告设计公司的未来
  • 白云区专业网站建设网页设计模拟试题答案
  • 毕业设计网站代做多少钱制作旅游网站设计概述
  • 网站开发维护运维无人在线电视剧免费观看
  • 电子商务网站建设开题报告展馆网站建设
  • 门户网站建设的背景和意义手机网站前
  • 国内免费视频素材无水印素材网站国家最新消息
  • 襄阳seo站内优化学做网站论坛教程
  • 文明网站建设情况报告wordpress伪静态配置
  • 牙科网站模板个人微信网站建设
  • 厦门公司注册网站dw做简单小说网站
  • 网站建好以后每年都续费么wordpress 仿聚划算
  • 单位网站建设收费标准网上开店铺需要多少钱
  • 灯饰网站需要这么做申请域名的流程
  • 软件下载网站怎么赚钱wordpress减少数据库查询
  • 什么兼职网站可以做视频剪辑常见的推广平台有哪些
  • 网站开发是用html还是jsp设迹官网
  • 查公司信息的网站怎么学wordpress
  • 白银做网站长春一般建一个网站需要多少钱
  • 帮人做钓鱼网站的人网络推广培训职业学校
  • 淘宝客有必须做网站吗网站开发的形式有( )
  • 网站建设:上海珍岛网页版qq空间登录
  • 网站服务器ipteahouse wordpress主题
  • 深州市住房保障和城乡建设局网站做网站公司叫什么
  • 织梦网站转跳手机站注册公司代理记账费用