forked from Nicuz/Nodeliad
-
Notifications
You must be signed in to change notification settings - Fork 0
/
nodeliad.js
65 lines (56 loc) · 2.3 KB
/
nodeliad.js
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
const request = require('request');
const cheerio = require('cheerio');
const config = process.env.ILIAD_USER || require('./config.json');
var areaRiservata = {
url: "https://www.iliad.it/account/",
method: "POST",
followAllRedirects: true,
jar: true,
form: {
"login-ident": process.env.ILIAD_USER || config.iliad.username,
"login-pwd": process.env.ILIAD_PASS || config.iliad.password
}
};
var iliad = {};
var vociConsumiIta = ['chiamateEffettuateMinuti', 'chiamateCostiExtra', 'smsInviati', 'smsCostiExtra', 'datiUtilizzati', 'datiCostiExtra', 'mmsInviati', 'mmsCostiExtra'];
var vociConsumiEstero = ['chiamateEffettuateMinuti', 'chiamateCostiExtra', 'smsInviati', 'smsCostiExtra', 'datiUtilizzati', 'datiCostiExtra', 'datiUtilizzatiExtra', 'mmsInviati', 'mmsCostiExtra'];
exports.InfoLinea = function(html){
const $ = cheerio.load(html);
iliad = {
"info": {
"intestatario": $('.current-user .bold').first().text(),
"id": $('.current-user .smaller').slice(1).first().text().replace('ID utente: ', ''),
"numero": $('.current-user .smaller').slice(1).last().text().replace('Numero: ', ''),
"credito": $('.p-conso h2 .red').text(),
"rinnovo": $('.p-conso .end_offerta').text().replace(/\s\s+/g, '')
}
}
return iliad.info;
};
exports.ConsumiItalia = function(html){
const $ = cheerio.load(html);
iliad.italia = {};
$('.conso-local .conso__text .red').each(function(i, elem) {
iliad['italia'][vociConsumiIta[i]] = $(this).text().replace(' SMS', '').replace(' MMS', '');
});
return iliad.italia;
};
exports.ConsumiEstero = function(html){
const $ = cheerio.load(html);
iliad.estero = {};
$('.conso-roaming .conso__text .red').each(function(i, elem) {
iliad['estero'][vociConsumiEstero[i]] = $(this).text().replace(' SMS', '').replace(' MMS', '');
});
return iliad.estero;
};
exports.Login = function(callback) {
request.post(areaRiservata, function (err,res,body) {
if (String(body).match(/ID utente o password non corretto./g) != null) {
//Login fallito, restituisco errore
callback('Errore durante il login. ID utente o password non corretto.');
} else {
//Login effettuato, restituisco il sorgente della pagina
callback(body.replace(/<\/span> \//g, ' /').replace(/GB<br>/g, 'GB</span>'));
}
});
};