Hallo zusammen,
kann man folgendes Script funktionsfähig unabhängig von nodejs nutzen? Kann das jemand eventuell umschreiben?
savepage.js
JavaScript
const cheerio = require('cheerio')
const axios = require('axios')
const qs = require('qs')
const getArchiveIsSubmitId = require('../lib/getArchiveIsSubmitId')
module.exports = async function (pageToSave) {
// const makeRequest = async function (pageToSave) {
// get fresh submitId
const submitId = await getArchiveIsSubmitId()
// console.log('got submitid: ', submitId)
let response = await axios({
url: 'http://archive.is/submit/',
method: 'POST',
headers: { 'content-type': 'application/x-www-form-urlencoded' },
data: qs.stringify({ url: pageToSave, submitId }),
}).catch((err) => {
return false
})
if (response.data.includes('document.location.replace')) {
console.log(response.data.slice(70, 97))
return response.data.slice(70, 97)
} else if (response.data.includes('Attention Required')) {
console.log('Cloudflare...')
return false
} else if (response.request.res.responseUrl) {
console.log(response.request.res.responseUrl)
return response.request.res.responseUrl
} else {
console.log('Nothing found: ', response)
return false
}
}
Display More
getArchiveIsSubmitld.js
JavaScript
const cheerio = require('cheerio')
const axios = require('axios')
const url = 'http://archive.is/'
module.exports = async function getSubmitId() {
// const run = async function getSubmitId() {
axios.get(url)
.then(response => {
const submitId = cheerio('input[type="hidden"]', response.data).val()
// console.log('submitid: ', submitId)
if(!submitId) {
console.error('unable to get submitid... proxy ?')
}
return submitId
})
.catch(err => {
return false
})
}
Display More
LG