Форум » » Нужен плагин для voipalot.com » Ответить

Нужен плагин для voipalot.com

zzserg: Очередной клон от Betamax/Dellmont. Уже имеющийся плагин от rynga.com, например, с новым сайтом не работает. Сам написать не смог...

Ответов - 2

zzserg: Код такой, не могу плагином пройти авторизацию: <table width="100%" border="0" cellpadding="0" cellspacing="0" class="text1"> <tr> <td> If you want to buy calling credit from VoipAlot? Log in to buy credit.<br> <br> If you do not have a VoipAlot username, <a href="register.php">sign up here</a>. <br><br> <div style="padding-bottom:15px;"> </div> <form id="login-form" name="login-form" id="login-form" action="#" method="POST"> <table width="100%" border="0" cellpadding="0" cellspacing="0" class="text1"> <tr> <td valign="top">Username</td> <td valign="top"><input class="required" type="textbox" id="username" name="username" style="width:150px;"></td> </tr> <tr> <td colspan="2" style="height:5px;"></td> </tr> <tr> <td valign="top">Password</td> <td valign="top"><input class="required" type="password" id="password" name="password" style="width:150px;"></td> </tr> <tr> <td colspan="2" style="height:5px;"></td> </tr> <tr> <td valign="top">&nbsp;</td> <td valign="top"><input type="submit" value="Login &raquo;"></td> </tr> <tr> <td colspan="2">&nbsp;</td> </tr> <tr> <td valign="top">&nbsp;</td> <td valign="top"><a href="forgot_password.php">Forgot Username or Password?</a></td> </tr> </table> </form> </td> </tr> <tr> <td height="45">&nbsp;</td> </tr> </table> Текст скорректированного мною плагина: function main(){ var p = 0; // На главную страницу НЕ заходим. А создаем ее самостоятельно document.writeln('<form method="post" action="http://www.voipalot.com/myaccount/login.php"><input name="username"><input name="password">'); external.sleep(100); // Вводим логин и пароль и submit форму document.getElementById("username").value=request.loginValue; document.getElementById("password").value=request.passwValue; document.getElementById("password").form.submit(); if(!external.WaitBrowser) return; response.pages[p++]=external.source; // Баланс забираем в цикле. Ждем максимум XX секунд for (var i=0;i<=20;i++){ // Забираем данные html=document.documentElement.outerHTML; regexp=/Current Balance:.*?&nbsp;(.*?) /; if (res=regexp.exec(html)){ tmpBalance=res[1].replace(/ |\xA0/, ""); // Удаляем пробелы tmpBalance=tmpBalance.replace(",", "."); // Заменяем запятую на точку response.Balance=parseFloat(tmpBalance); break; }; external.sleep(1000); }; response.pages[p++]=html; //Нет freedays // Пытаемся забрать количество Free Days // regexp=/Freedays remaining.*?<B>(\d*?)</; // if (res=regexp.exec(html)){ // response.AnyString='Days: '+res[1]; // }; // Выходим из системы // Из системы НЕ ВЫХОДИМ! Страница выхоа закрывает окно браузера и дальнейшая работа программы без перезагрузки невозможна!!! /* document.location="https://www.voipalot.com/myaccount/index.php?part=logoff"; if(!external.WaitBrowser) return; response.pages[p++]=external.source; */ }; main();

SiBear: zzserg Постить в форум HTML-код, практически, бесполезно. Он переносится на разные строки, а от этого очень сильно зависят регулярные выражения. Но это касается забора баланса и других показателей. На счет авторизации тоже все везде очень по разному. Где-то подойдет обычный submit формы, где-то надо именно нажать кнопку "Войти", где-то предварительно выполнить какую-то JavaScript подпрограмму, прежде чем нажать эту кнопку и т.д. Вариантов очень много. По этому кусочку можно только сказать, что метод авторизации у Вас написан совершенно верно. Но почему не работает - для этого надо рассматривать все в комплексе.



полная версия страницы