![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /var/www/html/keeview_app/tool/ |
Upload File : |
console.log("====================================================="); process.env["NODE_TLS_REJECT_UNAUTHORIZED"] = 0; var fs = require('fs'); var path = require('path'); var URL = require('url'); var rootUrl = 'https://lab.daithangminh.vn/home_co/hr/'; var jsphpUrl = 'https://lab.daithangminh.vn/jsphp/' var urlList = []; fs.readFile('../html/index.html', 'utf-8', (err, text) => { if (err) return; var srcRegex = /src\s*=\s*"([^"]+)"/g; var matched = srcRegex.exec(text); var url; while (matched) { url = matched[1]; if (url.startsWith('https:')) { matched = srcRegex.exec(text); continue; } urlList.push(url); matched = srcRegex.exec(text); } var hrefRegex = /href\s*=\s*"([^"]+)"/g; matched = hrefRegex.exec(text); while (matched) { url = matched[1]; if (url.startsWith('https:')) { matched = srcRegex.exec(text); continue; } urlList.push(url); matched = hrefRegex.exec(text); } var sync = Promise.resolve(); urlList.forEach(href => { if (href.indexOf('absol') >= 0) return; var fileUrl = URL.resolve(rootUrl, href); if (fileUrl.indexOf('/css/') >= 0) return; var ext = href.split('.').pop().toLowerCase(); var filePath = path.resolve(__dirname, '../new_html', href); fileUrl = URL.resolve(rootUrl + ext + '/', href); fetch(fileUrl).then(res => { if (!res.ok) { throw new Error("Not found " + fileUrl); } return res.text(); }).then(res => { console.log("download", fileUrl, filePath); fs.writeFile(filePath, res, 'utf-8', (error) => { if (!error) console.log('write ' + filePath); }) }).catch(error => { fileUrl = URL.resolve(rootUrl, href); fetch(fileUrl).then(res => { if (!res.ok) { throw new Error("Not found " + fileUrl); } return res.text(); }).then(res => { console.log("fallback download", fileUrl); fs.writeFile(filePath, res, 'utf-8', (error) => { if (!error) console.log('write ' + filePath); }) }).catch(error => { fileUrl = URL.resolve(jsphpUrl, href); fetch(fileUrl).then(res => { if (!res.ok) { throw new Error("Not found " + fileUrl); } return res.text(); }).then(res => { console.log("lib download", fileUrl); fs.writeFile(filePath, res, 'utf-8', (error) => { if (!error) console.log('write ' + filePath); }) }).catch(error => { console.error("Fail", fileUrl); }) }) }) // // sync = sync.then(() => { // return fetch(file).then(res => res.arrayBuffer()).then(res => { // console.log("downloaded", href); // }).catch(error => { // console.log("download fail", file, error.message); // // // }); // }); // console.log(file); }); // console.log(sourceFiles) });