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",
|
"description": "Servidor GraphQL para concentrar as informações do IFMS",
|
||||||
"main": "src/index.js",
|
"main": "src/index.js",
|
||||||
"scripts": {
|
"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",
|
"dev": "nodemon --ext js,graphql src/index.js --exec babel-node",
|
||||||
"prisma-deploy": "prisma migrate up --experimental",
|
"prisma-deploy": "prisma migrate up --experimental",
|
||||||
"prisma-generate": "prisma generate",
|
"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() {
|
async function getDevices() {
|
||||||
const take = 50
|
const take = 50
|
||||||
let skip = 0
|
let skip = 0
|
||||||
let currentPage = 1
|
let page = 1
|
||||||
|
let response = null
|
||||||
|
|
||||||
try {
|
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 devices = []
|
||||||
let result = []
|
|
||||||
|
|
||||||
do {
|
do {
|
||||||
// TODO: improve url params
|
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`
|
||||||
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)
|
|
||||||
|
|
||||||
result = await response.json()
|
response = await configuredClient.get(url)
|
||||||
|
|
||||||
|
devices = devices.concat(response.data.data)
|
||||||
|
|
||||||
skip += take
|
skip += take
|
||||||
currentPage++
|
page++
|
||||||
|
} while (response.data.total > skip)
|
||||||
devices = devices.concat(result.data)
|
|
||||||
} while (result.total > skip)
|
|
||||||
|
|
||||||
browser.close()
|
|
||||||
|
|
||||||
return devices
|
return devices
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user