Nextrek
@ 1108
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
const express = require('express'); const bodyParser = require('body-parser'); const http = require('http'); const path = require('path'); const app = express(); const puppeteer = require('puppeteer'); //lettura porta da secondo parametro come da richiesta var port = process.argv [ 2 ]; if ( port && port.length > 0 ){ port = parseInt ( port ); }else{ port = 3000; } var page; async function readHtml(url){ var toReturn = ""; const browser = await puppeteer.launch(); if (!page){ page = await browser.newPage(); } await page.setViewport({width:1920, height: 900}); //Custom dimensions //await page.goto('http://82.223.81.183:8084/', {timeout: 60000, waitUntil: 'networkidle0'}); try{ await page.goto(url, {timeout: 90000, waitUntil: 'networkidle0'}); //console.log(await page.content()); toReturn = await page.content(); //await page.screenshot({path: 'screenshot.png', fullpage:true}); await browser.close(); return toReturn; }catch(e){ toReturn = "timeout error - " + e; return toReturn; } } app.use(express.json()); // to support JSON-encoded bodies var jsonParser = bodyParser.json(); //endpoint app.post('/', jsonParser, function(req, res) { var params = req.body; try{ readHtml(params.url).then(function(a){ //res.send(JSON.stringify(params.url) + " - " + a); res.send(a); }); }catch(e){ res.send("timeout error 2 " - e); } }); //FINE endpoint app.use(bodyParser.urlencoded({ // to support URL-encoded bodies extended: true })); server = http.createServer(app).listen(port); console.log("Server start... On port: :" + port); //readHtml(); |