Replace Puppeteer method for a configured axios
This commit is contained in:
parent
f8df9a96b2
commit
639961a73d
|
@ -4,7 +4,7 @@
|
|||
"description": "Servidor GraphQL para concentrar as informações do IFMS",
|
||||
"main": "src/index.js",
|
||||
"scripts": {
|
||||
"start": "node dist/index.js",
|
||||
"start": "node --tls-min-v1.0 dist/index.js",
|
||||
"dev": "nodemon --ext js,graphql src/index.js --exec babel-node",
|
||||
"prisma-deploy": "prisma migrate up --experimental",
|
||||
"prisma-generate": "prisma generate",
|
||||
|
|
|
@ -1,39 +1,38 @@
|
|||
import puppeteer from 'puppeteer'
|
||||
import axios from 'axios'
|
||||
import https from 'https'
|
||||
|
||||
const httpsAgent = new https.Agent({
|
||||
rejectUnauthorized: false,
|
||||
ciphers: 'AES256-SHA' // That's necessary to connect to a TLS 1.0 server. Run node with --tls-min-v1.0
|
||||
})
|
||||
|
||||
const configuredClient = axios.create({
|
||||
httpsAgent: httpsAgent,
|
||||
auth: {
|
||||
username: process.env.CISCO_USER,
|
||||
password: process.env.CISCO_PASSWORD
|
||||
}
|
||||
})
|
||||
|
||||
async function getDevices() {
|
||||
const take = 50
|
||||
let skip = 0
|
||||
let currentPage = 1
|
||||
let page = 1
|
||||
let response = null
|
||||
|
||||
try {
|
||||
const browser = await puppeteer.launch({
|
||||
ignoreHTTPSErrors: true
|
||||
})
|
||||
|
||||
const controllerPage = await browser.newPage()
|
||||
|
||||
await controllerPage.authenticate({
|
||||
username: process.env.CISCO_USER,
|
||||
password: process.env.CISCO_PASSWORD
|
||||
})
|
||||
|
||||
let devices = []
|
||||
let result = []
|
||||
|
||||
do {
|
||||
// TODO: improve url params
|
||||
const url = `https://${process.env.CISCO_HOST}/data/client-table.html?columns=524287&take=${take}&skip=${skip}&page=${currentPage}&pageSize=50&sort[0][field]=ST&sort[0][dir]=desc`
|
||||
let response = await controllerPage.goto(url)
|
||||
let url = `https://${process.env.CISCO_HOST}/data/client-table.html?columns=524287&take=${take}&skip=${skip}&page=${page}&pageSize=50&sort[0][field]=ST&sort[0][dir]=desc`
|
||||
|
||||
result = await response.json()
|
||||
response = await configuredClient.get(url)
|
||||
|
||||
devices = devices.concat(response.data.data)
|
||||
|
||||
skip += take
|
||||
currentPage++
|
||||
|
||||
devices = devices.concat(result.data)
|
||||
} while (result.total > skip)
|
||||
|
||||
browser.close()
|
||||
page++
|
||||
} while (response.data.total > skip)
|
||||
|
||||
return devices
|
||||
} catch (e) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user