Скрипт проверки баланса, хелп |
Здравствуйте, гость ( Вход | Регистрация )
Скрипт проверки баланса, хелп |
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 руб |
|
|
27.10.2009, 13:35
Сообщение
#2
|
|
Участник Группа: Пользователи Сообщений: 35 Регистрация: 7.7.2009 Из: Тула Пользователь №: 3 818 Спасибо сказали: 3 раза |
ИМХО такое вроде невозможно
+ Какой дурак будет вводить свои данные для подключения инета? подумает что хочешь стырить |
|
|
27.10.2009, 15:49
Сообщение
#3
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
Возможно и вполне легко реализуется, если пароль для проверки пароля отличается от того что для входа в интернет (так у нормальных провайдеров), то проблем никаких не будет
Не сильно много времени у меня, но идея понравилась, - набросал скрипт, в самом конце введи свои данные ("тут_впиши_логин" и "тут_впиши_пароль") и напиши тут что тебе выдал хаб в ответ на запуск скрипта. Тогда посмотрим что можно сделать... Для работы требуется библиотека сокетов 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("тут_впиши_логин", "тут_впиши_пароль")) |
|
|
27.10.2009, 19:52
Сообщение
#4
|
|
Активный участник Группа: Пользователи Сообщений: 62 Регистрация: 11.10.2008 Пользователь №: 775 Спасибо сказали: 4 раза |
Возможно и вполне легко реализуется, если пароль для проверки пароля отличается от того что для входа в интернет (так у нормальных провайдеров), то проблем никаких не будет Не сильно много времени у меня, но идея понравилась, - набросал скрипт, в самом конце введи свои данные ("тут_впиши_логин" и "тут_впиши_пароль") и напиши тут что тебе выдал хаб в ответ на запуск скрипта. Тогда посмотрим что можно сделать... Для работы требуется библиотека сокетов LuaSocket! Спасибо за поддержание идеи. Да, в нашей сети для проверки баланса создается отдельный логин и пароль... вот что при запуске скрипта 27.10.2009 18:49:07 - c:\DC\scripts\72_Balans.lua:8: attempt to index local 'a' (a number value) да, и менюшку хотелось бы к нему ))) |
|
|
27.10.2009, 20:07
Сообщение
#5
|
|
Участник Группа: Пользователи Сообщений: 35 Регистрация: 7.7.2009 Из: Тула Пользователь №: 3 818 Спасибо сказали: 3 раза |
Спасибо за поддержание идеи. Да, в нашей сети для проверки баланса создается отдельный логин и пароль... вот что при запуске скрипта 27.10.2009 18:49:07 - c:\DC\scripts\72_Balans.lua:8: attempt to index local 'a' (a number value) да, и менюшку хотелось бы к нему ))) Везет, а у нас всё тупо одно |
|
|
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
поправил |
|
|
28.10.2009, 9:30
Сообщение
#7
|
|
Активный участник Группа: Пользователи Сообщений: 62 Регистрация: 11.10.2008 Пользователь №: 775 Спасибо сказали: 4 раза |
|
|
|
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]])
|
|
|
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: Не нужно цитировать предыдущий пост
|
|
|
28.10.2009, 23:08
Сообщение
#10
|
|
[n00b] Группа: Пользователи Сообщений: 291 Регистрация: 10.7.2008 Из: Россия,Пенза Пользователь №: 168 Спасибо сказали: 24 раза |
|
|
|
1.11.2009, 20:58
Сообщение
#11
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
Попробуй вот так
Скрипт ищите дальше... |
|
|
1.11.2009, 23:34
Сообщение
#12
|
|
Наруто на аваторке Группа: Пользователи Сообщений: 2 606 Регистрация: 11.10.2008 Из: Харькова Пользователь №: 771 Спасибо сказали: 774 раза |
У меня вопрос, а как правельно настроеть вот под этот сайт
Код ([[https://my.triolan.ua/balance_sender?login=]] но при проверки выдаёт команду и все данные в чат и ошибку lКод ua:34: attempt to concatenate local 'pass' (a nil value) Что я прописал не так подскажите. Скрипт полезный, а то часто у меня в локалке народ просит адресс Личного кабинета для проверки баланса. Зарание спасибо. |
|
|
2.11.2009, 4:50
Сообщение
#13
|
|
Освоившийся участник Группа: Администраторы Сообщений: 344 Регистрация: 2.6.2008 Из: RB,Ufa Пользователь №: 8 Спасибо сказали: 106 раз |
А ошибки читать кто будет? Тетя Мотя? Суть, ты пытаешься склеить строку с пустым значением.
Такой запрос ( [[https://my.triolan.ua/balance_sender?login=]] ) не годится, нужно как минимум [[https://my.triolan.ua/balance_sender?login=]]..login..[[&pswd=]]..pass Зайти на p.s. насчет ошибки, ты влез в код, но что ты поменял? такая ошибка в последней версии николя невозможна, потому что до вызовыа функции GetData выполняется проверка есть ли что-то в переменных login и pass |
|
|
2.11.2009, 12:21
Сообщение
#14
|
|
Наруто на аваторке Группа: Пользователи Сообщений: 2 606 Регистрация: 11.10.2008 Из: Харькова Пользователь №: 771 Спасибо сказали: 774 раза |
Jaska
В коде нечего не менял кроме ( [[https://my.triolan.ua/balance_sender?login=]] ) |
|
|
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) |
|
|
2.11.2009, 13:56
Сообщение
#16
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
Мой косяк, попробуйте вот этот вариант
Прикрепленные файлы
|
|
|
2.11.2009, 14:02
Сообщение
#17
|
|
Активный участник Группа: Пользователи Сообщений: 62 Регистрация: 11.10.2008 Пользователь №: 775 Спасибо сказали: 4 раза |
Спасибо большое, работает.
Кстати мот кому понадобится биллинговая система стоит |
|
|
3.11.2009, 11:56
Сообщение
#18
|
|
Освоившийся участник Группа: Пользователи Сообщений: 335 Регистрация: 18.5.2009 Из: Уфа, штат Солнечная Башкирия Пользователь №: 3 353 Спасибо сказали: 7 раз |
А мне пишет "[13:55:17] <PtokaX> *** Uncle_Dif, Запрос не обработан"
|
|
|
3.11.2009, 12:03
Сообщение
#19
|
|
Наруто на аваторке Группа: Пользователи Сообщений: 2 606 Регистрация: 11.10.2008 Из: Харькова Пользователь №: 771 Спасибо сказали: 774 раза |
Uncle_Dif
мне тоже самое пишет, я даже менял уже ( вроде правельно ) на своего провайдера Код [[https://my.triolan.ua/LoginPage.aspx=]] и всеравно пишет Цитата Запрос не обработан
|
|
|
3.11.2009, 12:24
Сообщение
#20
|
|
Освоившийся участник Группа: Пользователи Сообщений: 335 Регистрация: 18.5.2009 Из: Уфа, штат Солнечная Башкирия Пользователь №: 3 353 Спасибо сказали: 7 раз |
Зайти на А я захожу свободно... с оперы. Артём, значит - не судьба)), в пинципе у меня фиксированный тариф, а юзеры пусть уж помнят о "мой кабинет". Хотя фишка (скрипт этот) - штука хорошая. |
|
|
Похожие темы
|
Сейчас: 27.11.2024, 3:14 |