myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 
2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему

> Скрипт проверки баланса, хелп

Теги
Нет тегов для показа
Lesh™
сообщение 26.10.2009, 20:02
Сообщение #1


Активный участник
***

Группа: Пользователи
Сообщений: 62
Регистрация: 11.10.2008
Пользователь №: 775
Спасибо сказали: 4 раза




Приветствую всех, и прошу помощи, есть биллинговая система которая по запросу выдает лицевой счет:

http://billing:8080/balance_sender?login=login&pswd=pass&mid=5

нужен скрипт что бы при вводе login и pass вставлялись в нужные места ссылки(выделенные жирным) и в ЛС приходил результат, а он такой:
Код
<?xml version="1.0" encoding="windows-1251"?>
<data status="error">Invalid PIN1 or PIN2!</data>

ошибка логина или пароля
Вывод фразы: Ошибка логина или пароля

Код
<?xml version="1.0" encoding="windows-1251"?>
<data status="ok" summa="880.13    "/>

при правильно вводе
Вывод фразы: Ваш баланс равен 880.13 руб


Спасибо сказали:
Go to the top of the page
+Quote Post
Akaick
сообщение 27.10.2009, 13:35
Сообщение #2


Участник
**

Группа: Пользователи
Сообщений: 35
Регистрация: 7.7.2009
Из: Тула
Пользователь №: 3 818
Спасибо сказали: 3 раза




ИМХО такое вроде невозможно beat_plaster.gif
+ Какой дурак будет вводить свои данные для подключения инета? still_dreaming.gif подумает что хочешь стырить


Спасибо сказали:
Go to the top of the page
+Quote Post
Nickolya
сообщение 27.10.2009, 15:49
Сообщение #3


Главный ра******й тут...
*********

Группа: Главные администраторы
Сообщений: 1 727
Регистрация: 18.5.2008
Из: RF, 2la
Пользователь №: 1
Спасибо сказали: 776 раз




Возможно и вполне легко реализуется, если пароль для проверки пароля отличается от того что для входа в интернет (так у нормальных провайдеров), то проблем никаких не будет big_smile.gif

Не сильно много времени у меня, но идея понравилась, - набросал скрипт, в самом конце введи свои данные ("тут_впиши_логин" и "тут_впиши_пароль") и напиши тут что тебе выдал хаб в ответ на запуск скрипта. Тогда посмотрим что можно сделать... Для работы требуется библиотека сокетов LuaSocket!

Код
local http = require("socket.http")

function GetData(login, pass)
    local a, b = http.request{
        url = [[http://billing:8080/balance_sender?login=]]..login..[[&pswd=]]..pass..[[&mid=5]],
    }
    if b and b == 200 then
        local c = a:match("status=\"(%S+)\"")
        if c then
            if c == "error" then
                return "Ошибка логина или пароля"
            elseif c == "ok" then
                local d = a:match("summa=\"(%S+)%s*\"")
                if d then
                    return "Ваш баланс равен "..d.." руб."
                else
                    return "Сумма не найдена"
                end
            else
                return "Ответ не корректен"
            end
        else
            return "Запрос не корректен"
        end
    else
        return "Запрос не обработан"
    end
end

Core.SendToAll("Ответ на запрос: "..GetData("тут_впиши_логин", "тут_впиши_пароль"))


Спасибо сказали:
Go to the top of the page
+Quote Post
Lesh™
сообщение 27.10.2009, 19:52
Сообщение #4


Активный участник
***

Группа: Пользователи
Сообщений: 62
Регистрация: 11.10.2008
Пользователь №: 775
Спасибо сказали: 4 раза




Цитата(Nickolya @ 27.10.2009, 15:49) *
Возможно и вполне легко реализуется, если пароль для проверки пароля отличается от того что для входа в интернет (так у нормальных провайдеров), то проблем никаких не будет big_smile.gif

Не сильно много времени у меня, но идея понравилась, - набросал скрипт, в самом конце введи свои данные ("тут_впиши_логин" и "тут_впиши_пароль") и напиши тут что тебе выдал хаб в ответ на запуск скрипта. Тогда посмотрим что можно сделать... Для работы требуется библиотека сокетов LuaSocket!

Спасибо за поддержание идеи. Да, в нашей сети для проверки баланса создается отдельный логин и пароль...

вот что при запуске скрипта

27.10.2009 18:49:07 - c:\DC\scripts\72_Balans.lua:8: attempt to index local 'a' (a number value)

да, и менюшку хотелось бы к нему )))


Спасибо сказали:
Go to the top of the page
+Quote Post
Akaick
сообщение 27.10.2009, 20:07
Сообщение #5


Участник
**

Группа: Пользователи
Сообщений: 35
Регистрация: 7.7.2009
Из: Тула
Пользователь №: 3 818
Спасибо сказали: 3 раза




Цитата(Lesh™ @ 27.10.2009, 20:52) *
Спасибо за поддержание идеи. Да, в нашей сети для проверки баланса создается отдельный логин и пароль...

вот что при запуске скрипта

27.10.2009 18:49:07 - c:\DC\scripts\72_Balans.lua:8: attempt to index local 'a' (a number value)

да, и менюшку хотелось бы к нему )))


Везет, а у нас всё тупо одно feel_good.gif


Спасибо сказали:
Go to the top of the page
+Quote Post
Jaska
сообщение 27.10.2009, 22:19
Сообщение #6


Освоившийся участник
*****

Группа: Администраторы
Сообщений: 344
Регистрация: 2.6.2008
Из: RB,Ufa
Пользователь №: 8
Спасибо сказали: 106 раз




Вставить перед local c = a:match("status=\"(%S+)\"") что-то вроде if type(a) ~= "string" then local a = tostring(a) end big_smile.gif

поправил big_smile.gif
Go to the top of the page
+Quote Post
Lesh™
сообщение 28.10.2009, 9:30
Сообщение #7


Активный участник
***

Группа: Пользователи
Сообщений: 62
Регистрация: 11.10.2008
Пользователь №: 775
Спасибо сказали: 4 раза




Цитата(Jaska @ 27.10.2009, 22:19) *
Вставить перед local c = a:match("status=\"(%S+)\"") что-то вроде if type(a) ~= "string" then local a = tostring(a) end big_smile.gif

поправил big_smile.gif


28.10.2009 08:29:33 - c:\DC\scripts\72_Balans.lua:10: attempt to index local 'a' (a number value)
Go to the top of the page
+Quote Post
Nickolya
сообщение 28.10.2009, 14:34
Сообщение #8


Главный ра******й тут...
*********

Группа: Главные администраторы
Сообщений: 1 727
Регистрация: 18.5.2008
Из: RF, 2la
Пользователь №: 1
Спасибо сказали: 776 раз




Так, а замени конструкцию
Код
    local a, b = http.request{
        url = [[http://billing:8080/balance_sender?login=]]..login..[[&pswd=]]..pass..[[&mid=5]],
    }
на
Код
    local a, b = http.request([[http://billing:8080/balance_sender?login=]]..login..[[&pswd=]]..pass..[[&mid=5]])


Спасибо сказали:
Go to the top of the page
+Quote Post
Lesh™
сообщение 28.10.2009, 22:31
Сообщение #9


Активный участник
***

Группа: Пользователи
Сообщений: 62
Регистрация: 11.10.2008
Пользователь №: 775
Спасибо сказали: 4 раза




Спасибо, заработала, в таком виде...
Код
local http = require("socket.http")

function GetData(login, pass)
local a, b = http.request([[http://billing:8080/balance_sender?login=]]..login..[[&pswd=]]..pass..[[&mid=5]])
    if b and b == 200 then
    if type(a) ~= "string" then local a = tostring(a)
    end
        local c = a:match("status=\"(%S+)\"")
        if c then
            if c == "error" then
                return "Ошибка логина или пароля"
            elseif c == "ok" then
                local d = a:match("summa=\"(%S+)%s*\"")
                if d then
                    return "Ваш баланс равен "..d.." руб."
                else
                    return "Сумма не найдена"
                end
            else
                return "Ответ не корректен"
            end
        else
            return "Запрос не корректен"
        end
    else
        return "Запрос не обработан"
    end
end

Core.SendToAll("Ответ на запрос:  "..GetData("тут_впиши_логин", "тут_впиши_пароль"))

терь как бы сделать запрос с меню, а не при запуске скрипта и меню типо
$UserCommand 1 3 Меню хаба\\Ваш баланс$<%[mynick]> !balans %[line:login] %[line:pass]&#*124;|
Причина редактирования: от X-Sky: Не нужно цитировать предыдущий пост
Go to the top of the page
+Quote Post
FallenAngel
сообщение 28.10.2009, 23:08
Сообщение #10


[n00b]
*****

Группа: Пользователи
Сообщений: 291
Регистрация: 10.7.2008
Из: Россия,Пенза
Пользователь №: 168
Спасибо сказали: 24 раза




http://mydc.ru/topic1164.html?p=8577&#entry8577
Go to the top of the page
+Quote Post
Nickolya
сообщение 1.11.2009, 20:58
Сообщение #11


Главный ра******й тут...
*********

Группа: Главные администраторы
Сообщений: 1 727
Регистрация: 18.5.2008
Из: RF, 2la
Пользователь №: 1
Спасибо сказали: 776 раз




Попробуй вот так feel_good.gif
Скрипт ищите дальше...
Go to the top of the page
+Quote Post
Артём
сообщение 1.11.2009, 23:34
Сообщение #12


Наруто на аваторке
***********

Группа: Пользователи
Сообщений: 2 606
Регистрация: 11.10.2008
Из: Харькова
Пользователь №: 771
Спасибо сказали: 774 раза




У меня вопрос, а как правельно настроеть вот под этот сайт https://my.triolan.ua/ , а то я прописал
Код
([[https://my.triolan.ua/balance_sender?login=]]
но при проверки выдаёт команду и все данные в чат и ошибку l
Код
ua:34: attempt to concatenate local 'pass' (a nil value)

Что я прописал не так подскажите. Скрипт полезный, а то часто у меня в локалке народ просит адресс Личного кабинета для проверки баланса.
Зарание спасибо.
Go to the top of the page
+Quote Post
Jaska
сообщение 2.11.2009, 4:50
Сообщение #13


Освоившийся участник
*****

Группа: Администраторы
Сообщений: 344
Регистрация: 2.6.2008
Из: RB,Ufa
Пользователь №: 8
Спасибо сказали: 106 раз




А ошибки читать кто будет? big_smile.gif Тетя Мотя? Суть, ты пытаешься склеить строку с пустым значением.

Такой запрос ( [[https://my.triolan.ua/balance_sender?login=]] ) не годится, нужно как минимум [[https://my.triolan.ua/balance_sender?login=]]..login..[[&pswd=]]..pass
Зайти на https://my.triolan.ua/ я не могу, вероятно с внешки доступ закрыт. Сомневаюсь что это все заработает для твоего сайта, потому что в GET-запросе могут передаваться совершненно другие имена переменных. По правилам "хорошего тона" пароли, любые, открыто передавать в GET запросах - неткорреткно big_smile.gif но чаще всего отправляется хеш пароля иногда бывает еще какой-то ключ. Не обязательно передавать в GET, может форма входа устроена так что отправляется POST запрос. Короче говоря нужно знать как устроен сайт, чтобы что-то сделать.

p.s. насчет ошибки, ты влез в код, но что ты поменял? такая ошибка в последней версии николя невозможна, потому что до вызовыа функции GetData выполняется проверка есть ли что-то в переменных login и pass
Go to the top of the page
+Quote Post
Артём
сообщение 2.11.2009, 12:21
Сообщение #14


Наруто на аваторке
***********

Группа: Пользователи
Сообщений: 2 606
Регистрация: 11.10.2008
Из: Харькова
Пользователь №: 771
Спасибо сказали: 774 раза




Jaska
В коде нечего не менял кроме ( [[https://my.triolan.ua/balance_sender?login=]] )
Go to the top of the page
+Quote Post
Lesh™
сообщение 2.11.2009, 12:50
Сообщение #15


Активный участник
***

Группа: Пользователи
Сообщений: 62
Регистрация: 11.10.2008
Пользователь №: 775
Спасибо сказали: 4 раза




У меня так же ошибка

02.11.2009 11:47:42 - c:\DC\scripts\67_balansechecker_api2.lua:34: attempt to concatenate local 'pass' (a nil value)
Go to the top of the page
+Quote Post
Nickolya
сообщение 2.11.2009, 13:56
Сообщение #16


Главный ра******й тут...
*********

Группа: Главные администраторы
Сообщений: 1 727
Регистрация: 18.5.2008
Из: RF, 2la
Пользователь №: 1
Спасибо сказали: 776 раз




Мой косяк, попробуйте вот этот вариант
Прикрепленные файлы
Прикрепленный файл  balansechecker_api2.lua ( 2.66 килобайт ) Кол-во скачиваний: 59
 


Спасибо сказали:
Go to the top of the page
+Quote Post
Lesh™
сообщение 2.11.2009, 14:02
Сообщение #17


Активный участник
***

Группа: Пользователи
Сообщений: 62
Регистрация: 11.10.2008
Пользователь №: 775
Спасибо сказали: 4 раза




Спасибо большое, работает.
Кстати мот кому понадобится биллинговая система стоит http://bgbilling.ru/
Go to the top of the page
+Quote Post
Uncle_Dif
сообщение 3.11.2009, 11:56
Сообщение #18


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 335
Регистрация: 18.5.2009
Из: Уфа, штат Солнечная Башкирия
Пользователь №: 3 353
Спасибо сказали: 7 раз




А мне пишет "[13:55:17] <PtokaX> *** Uncle_Dif, Запрос не обработан"
Go to the top of the page
+Quote Post
Артём
сообщение 3.11.2009, 12:03
Сообщение #19


Наруто на аваторке
***********

Группа: Пользователи
Сообщений: 2 606
Регистрация: 11.10.2008
Из: Харькова
Пользователь №: 771
Спасибо сказали: 774 раза




Uncle_Dif
мне тоже самое пишет, я даже менял уже ( вроде правельно ) на своего провайдера
Код
[[https://my.triolan.ua/LoginPage.aspx=]]

и всеравно пишет
Цитата
Запрос не обработан
Go to the top of the page
+Quote Post
Uncle_Dif
сообщение 3.11.2009, 12:24
Сообщение #20


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 335
Регистрация: 18.5.2009
Из: Уфа, штат Солнечная Башкирия
Пользователь №: 3 353
Спасибо сказали: 7 раз




Цитата(Jaska @ 2.11.2009, 5:50) *
Зайти на https://my.triolan.ua/ я не могу, вероятно с внешки доступ закрыт.


А я захожу свободно... с оперы.

Артём, значит - не судьба)), в пинципе у меня фиксированный тариф, а юзеры пусть уж помнят о "мой кабинет". Хотя фишка (скрипт этот) - штука хорошая.
Go to the top of the page
+Quote Post

2 страниц V   1 2 >
Ответить в данную темуНачать новую тему
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No new Topic has attachmentsНерабочий скрипт ВИПа по шаре
16 Damaks 20 047 23.2.2023, 7:16 Посл. сообщение: mod
No new Topic has attachmentsMagneto - Бесплатный Скрипт Портала Обмена Dc-ссылками Для Локальной Сети
26 UserSide 41 239 27.8.2019, 11:01 Посл. сообщение: CyberGhost404
No New Posts От: Новогодний Скрипт
От темы с ID: 871
0 Евгений 3 182 15.10.2018, 21:44 Посл. сообщение: Евгений
No New Posts А бывают такой скрипт бота?
Скрипт который создает виртуалных юзеров, но с реальными шарами
5 MarkDark 8 136 26.12.2017, 10:47 Посл. сообщение: мамин_парень
No New Posts Скрипт: Бот который отвечает в лс
4 мамин_парень 7 817 11.11.2017, 5:57 Посл. сообщение: мамин_парень
No New Posts как сделать вот этот скрипт
12 мамин_парень 12 575 13.9.2017, 10:51 Посл. сообщение: dimetro
No New Posts Topic has attachmentsИщу скрипт переадресации (redirect)
Переадресация интернет-юзеров
3 AS_Com 7 214 27.8.2017, 8:05 Посл. сообщение: Ksan
No New Posts Topic has attachmentsСкрипт Thunder.lua
7 Евген76 15 315 9.8.2017, 11:48 Посл. сообщение: Ksan
No New Posts Требуется скрипт
Нужен скрипт запрета на подключение
5 Nikolaevich 9 499 20.8.2016, 19:52 Посл. сообщение: Ksan
No new ВАЖНО: Topic has attachmentsСкрипт банов для RusHub
тестим и комменьтруем
79 Wariner 104 604 28.9.2015, 13:34 Посл. сообщение: NeirRon
No New Posts Скрипт загрузки файла
1 FreeNas 6 426 21.7.2015, 10:58 Посл. сообщение: HackFresse
No new Как вызвать bash скрипт из Lua
14 Iskandark 17 317 3.3.2015, 12:42 Посл. сообщение: Iskandark
No new Topic has attachmentsНовогодний Скрипт
API2
22 Tsd 35 632 12.12.2014, 16:28 Посл. сообщение: Tsd
No New Posts Скрипт запрета видеть чат
запрет видеть чат
2 dimetro 7 292 5.12.2014, 17:37 Посл. сообщение: dimetro
No New Posts Topic has attachmentsпеределать скрипт kinozal.tv
6 BOKOREZ 13 006 30.10.2014, 18:29 Посл. сообщение: Dani_Filth

 



RSS Сейчас: 27.11.2024, 3:18