如何在android java中使用WebView获取Instagram私有视频URL?
我正在开发Instagram视频下载程序,我的应用程序成功下载了视频,但从私人帐户下载视频时出现了问题 我还开发了一个Facebook视频下载程序,在这种情况下,我找到了一个下载私人视频的代码。 使用web视图提取Facebook视频URL 以下是从Facebook下载私人视频的代码如何在android java中使用WebView获取Instagram私有视频URL?,java,android,android-studio,webview,Java,Android,Android Studio,Webview,我正在开发Instagram视频下载程序,我的应用程序成功下载了视频,但从私人帐户下载视频时出现了问题 我还开发了一个Facebook视频下载程序,在这种情况下,我找到了一个下载私人视频的代码。 使用web视图提取Facebook视频URL 以下是从Facebook下载私人视频的代码 wv_webView.getSettings().setJavaScriptEnabled(true); wv_webView.getSettings().setPluginState(WebSetting
wv_webView.getSettings().setJavaScriptEnabled(true);
wv_webView.getSettings().setPluginState(WebSettings.PluginState.ON);
wv_webView.getSettings().setBuiltInZoomControls(true);
wv_webView.getSettings().setDisplayZoomControls(true);
wv_webView.getSettings().setUseWideViewPort(true);
wv_webView.getSettings().setLoadWithOverviewMode(true);
wv_webView.addJavascriptInterface(this, "FBDownloader");
wv_webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
wv_webView.loadUrl("javascript:(function() { "
+ "var el = document.querySelectorAll('div[data-sigil]');"
+ "for(var i=0;i<el.length; i++)"
+ "{"
+ "var sigil = el[i].dataset.sigil;"
+ "if(sigil.indexOf('inlineVideo') > -1){"
+ "delete el[i].dataset.sigil;"
+ "var jsonData = JSON.parse(el[i].dataset.store);"
+ "el[i].setAttribute('onClick', 'FBDownloader.processVideo(\"'+jsonData['src']+'\");');"
+ "}" + "}" + "})()");
}
@Override
public void onLoadResource(WebView view, String url) {
wv_webView.loadUrl("javascript:(function prepareVideo() { "
+ "var el = document.querySelectorAll('div[data-sigil]');"
+ "for(var i=0;i<el.length; i++)"
+ "{"
+ "var sigil = el[i].dataset.sigil;"
+ "if(sigil.indexOf('inlineVideo') > -1){"
+ "delete el[i].dataset.sigil;"
+ "console.log(i);"
+ "var jsonData = JSON.parse(el[i].dataset.store);"
+ "el[i].setAttribute('onClick', 'FBDownloader.processVideo(\"'+jsonData['src']+'\",\"'+jsonData['videoID']+'\");');"
+ "}" + "}" + "})()");
wv_webView.loadUrl("javascript:( window.onload=prepareVideo;"
+ ")()");
}
});
CookieSyncManager.createInstance(this);
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.setAcceptCookie(true);
CookieSyncManager.getInstance().startSync();
wv_webView.loadUrl(url);
wv_webView.getSettings().setJavaScriptEnabled(true);
wv_webView.getSettings().setPluginState(WebSettings.PluginState.ON);
wv_webView.getSettings().SetBuilTinZoomControl(true);
wv_webView.getSettings().setDisplayZoomControl(true);
wv_webView.getSettings().setUseWideViewPort(true);
wv_webView.getSettings().setLoadWithOverview模式(true);
addJavascriptInterface(这是“FBDownloader”);
wv_webView.setWebViewClient(新的WebViewClient(){
@凌驾
公共void onPageFinished(WebView视图,字符串url){
loadUrl(“javascript:(函数(){”
+“var el=document.querySelectorAll('div[data sigil]”)
+“对于(var i=0;i-1){”
+“删除el[i].dataset.sigil;”
+“var jsonData=JSON.parse(el[i].dataset.store);”
+“el[i].setAttribute('onClick','FBDownloader.processVideo(\”'+jsonData['src']+'\”);”
+ "}" + "}" + "})()");
}
@凌驾
public void onLoadResource(WebView视图,字符串url){
loadUrl(“javascript:(函数prepareVideo(){”
+“var el=document.querySelectorAll('div[data sigil]”)
+“对于(var i=0;i-1){”
+“删除el[i].dataset.sigil;”
+“控制台日志(i);”
+“var jsonData=JSON.parse(el[i].dataset.store);”
+“el[i].setAttribute('onClick','FBDownloader.processVideo(\'”+jsonData['src']+'\”,\“'+jsonData['videoID']+'”);”
+ "}" + "}" + "})()");
wv_webView.loadUrl(“javascript:(window.onload=prepareVideo
+ ")()");
}
});
CookieSyncManager.createInstance(此);
CookieManager CookieManager=CookieManager.getInstance();
cookieManager.setAcceptCookie(true);
CookieSyncManager.getInstance().startSync();
wv_webView.loadUrl(url);
但我想在Instagram上做同样的事情。
如果有人能帮助我??
谢谢,您好您找到解决方案了吗?