Advertisement
Guest User

Untitled

a guest
Jan 25th, 2021
22
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.58 KB | None | 0 0
  1. /**
  2. Провайдер AnyBalance (http://any-balance-providers.googlecode.com)
  3. */
  4.  
  5. var g_headers = {
  6. 'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
  7. 'Accept-Charset':'windows-1251,utf-8;q=0.7,*;q=0.3',
  8. 'Accept-Language':'ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4',
  9. 'Connection':'keep-alive',
  10. 'User-Agent':'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.94 Safari/537.36'
  11. };
  12.  
  13. function main(){
  14. var prefs = AnyBalance.getPreferences();
  15. AnyBalance.setDefaultCharset('utf-8');
  16.  
  17. var baseurl = "https://my.vegatele.com/";
  18. var html = AnyBalance.requestGet(baseurl + 'ua/auth/login', g_headers);
  19. var token = getParam(html, null, null, /<input[^>]+name="_csrf"[^>]*value="([^"]*)/i);
  20. if(!token)
  21. throw new AnyBalance.Error('Не удаётся найти форму входа. Проблемы на сайте или сайт изменен.');
  22.  
  23. html = AnyBalance.requestPost(baseurl + 'ua/auth/login', {
  24. 'vega_auth_login[_csrf]':token,
  25. 'vega_auth_login[login]':prefs.login,
  26. 'vega_auth_login[password]':prefs.password,
  27. }, addHeaders({
  28. Referer: baseurl + 'ua/auth/login',
  29. 'X-CSRF-Token': token,
  30. 'X-Requested-With': 'XMLHttpRequest'
  31. }));
  32.  
  33. var json = getJson(html);
  34.  
  35. if(!json.success){
  36. var error = json.error;
  37. if(!error)
  38. error = json.validation && Object.values(json.validation).join('\n');
  39. if(error)
  40. throw new AnyBalance.Error(error, null, /парол/i.test(error));
  41. AnyBalance.trace(html);
  42. throw new AnyBalance.Error('Не удалось зайти в личный кабинет. Проблемы на сайте или сайт изменен.');
  43. }
  44.  
  45. var result = {success: true};
  46.  
  47. html = AnyBalance.requestGet(baseurl, g_headers);
  48.  
  49. getParam(html, result, 'balance', /<span[^>]+balance[^\-][^>]*>([\s\S]*?)<\/span>/i, replaceTagsAndSpaces, parseBalance);
  50. getParam(html, result, 'fio', /<div[^>]+client-name[^>]*>([\s\S]*?)<\/div>/i, replaceTagsAndSpaces);
  51. getParam(html, result, 'number', /Договор №([^<]*)/i, replaceTagsAndSpaces);
  52. getParam(html, result, 'status', /<span[^>]+account-status-text[^>]*>([\s\S]*?)<\/span>/i, replaceTagsAndSpaces);
  53. getParam(html, result, '__tariff', /<span[^>]+desc[^>]*>\s*Тариф[\s\S]*?<span[^>]*>([\s\S]*?)<\/span>/i, replaceTagsAndSpaces);
  54. #написать такую же строку но по нахождению значения из 2 скрина
  55. AnyBalance.setResult(result);
  56. }
  57.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement