kungmats Postad 22 juli, 2016 Share Postad 22 juli, 2016 Hej Mitt script har fungerat klanderfritt under en ganska lång tid, men sedan några månader bakåt loggar det inte längre in på mosms. Jag kan inte se att det finns några förändringar i adresserna hos dom och jag vet inte hur jag skall felsöka. Anledningen till att jag vill logga in automatiskt är att jag behöver kunna läsa av dagens saldo bl.a. Tacksam för tips/hjälp hur jag skall lösa detta. <? include'conn.php'; $konton = mysql_query(" SELECT * FROM mosms_konton ORDER BY owner, account ")or die(mysql_error() ); while($m = mysql_fetch_array($konton)) { $fields = array("login_username" => $m['account'], "login_password" => $m['password'], "login" => "Logga in"); $ch = curl_init(); //Set curl options $options = array( CURLOPT_URL => "https://www.mosms.com/se/index.php", CURLOPT_COOKIEJAR => "cookie.txt", CURLOPT_COOKIEFILE => "cookie.txt", CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => $fields ); curl_setopt_array($ch, $options); curl_exec($ch); curl_setopt($ch, CURLOPT_URL, "https://www.mosms.com/se/index.php"); $page = curl_exec($ch); preg_match('/kontobalans: <b>(.*?)</b>/', $page, $v); echo '<tr><td>'.$m['owner'].'</td><td>'.$m['account'].'</td><td align=right>...'.$v[1].'</td></tr>'; } ?> Länk till kommentar Dela på andra webbplatser More sharing options...
Mr Andersson Postad 22 juli, 2016 Share Postad 22 juli, 2016 Inget ändrat på serversidan, tex att loginfälten har andra namn? Länk till kommentar Dela på andra webbplatser More sharing options...
.M Postad 22 juli, 2016 Share Postad 22 juli, 2016 Ser du vad du får för svar när din inloggning körs? Om det är så att sidan berättar att det är ogiligt lösenord eller liknande? Länk till kommentar Dela på andra webbplatser More sharing options...
kungmats Postad 22 juli, 2016 Trådskapare Share Postad 22 juli, 2016 Inget ändrat på serversidan, tex att loginfälten har andra namn? Nej, jag har kollat flera gånger och kan inte se att det är något ändrat. Länk till kommentar Dela på andra webbplatser More sharing options...
kungmats Postad 22 juli, 2016 Trådskapare Share Postad 22 juli, 2016 Ser du vad du får för svar när din inloggning körs? Om det är så att sidan berättar att det är ogiligt lösenord eller liknande? Nej, jag får inga meddelanden. Jag ser ju inte sidan när jag loggar in heller med mitt script. Men jag kan logga in manuellt med samma uppgifter så det är inte dom som är fel. Något är ändrat på mosms. Dom fick nya ägare ungefär samtidigt som min inloggning slutade fungera. Länk till kommentar Dela på andra webbplatser More sharing options...
.M Postad 22 juli, 2016 Share Postad 22 juli, 2016 Men du borde få tillbaka en statuskod. 200 = allt är ok, andra koder kan betyda att något gått fel. Så du får nog sätta ihop en liten loggfil. Länk till kommentar Dela på andra webbplatser More sharing options...
kungmats Postad 22 juli, 2016 Trådskapare Share Postad 22 juli, 2016 Men du borde få tillbaka en statuskod. 200 = allt är ok, andra koder kan betyda att något gått fel. Så du får nog sätta ihop en liten loggfil. Det har du rätt i. Nu har jag lagt in lite debugging och får något om banned.php som jag inte fattar, men tydligen är jag spärrad. ... jag får kolla med dom. Array ( => https://www.mosms.com/se/banned.php [content_type] => text/html; charset=iso-8859-1 [http_code] => 200 [header_size] => 615 [request_size] => 472 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 1 [total_time] => 0.167332 [namelookup_time] => 3.5E-5 [connect_time] => 0.007141 [pretransfer_time] => 0.037445 [size_upload] => 0 [size_download] => 417 [speed_download] => 2492 [speed_upload] => 0 [download_content_length] => 417 [upload_content_length] => -1 [starttransfer_time] => 0.091477 [redirect_time] => 0.075839 [redirect_url] => [primary_ip] => 94.247.169.159 [certinfo] => Array ( ) [primary_port] => 443 [local_ip] => 194.9.95.11 [local_port] => 10164 ) 0- Länk till kommentar Dela på andra webbplatser More sharing options...
.M Postad 22 juli, 2016 Share Postad 22 juli, 2016 Det verkar som att dom klurat ut vad du håller på med, ogillar det och har spärrat dig från att logga in via ditt script.Kan du logga in som vanligt via webbläsaren? Kanske är så att dom även har avslutat ditt konto i värsta fall. Länk till kommentar Dela på andra webbplatser More sharing options...
kungmats Postad 22 juli, 2016 Trådskapare Share Postad 22 juli, 2016 Det verkar som att dom klurat ut vad du håller på med, ogillar det och har spärrat dig från att logga in via ditt script.Kan du logga in som vanligt via webbläsaren? Kanske är så att dom även har avslutat ditt konto i värsta fall. Inga problem att logga in vanligt Länk till kommentar Dela på andra webbplatser More sharing options...
.M Postad 22 juli, 2016 Share Postad 22 juli, 2016 Då får vi kanske klura ut hur som ser att du loggar in via script. Du sätter ingen user-agent, det kanske du ska göra. Ange en user-agent som stämmer med den webbläsare du normalt använder. Annars kanske dom triggar på ip-adressen om det är så att du kör ifrån en server. Det är knepigare att ändra på. Antagligen får du köra via en proxy i så fall, men börja med att sätta en user-agent och se om det hjälper. Länk till kommentar Dela på andra webbplatser More sharing options...
kungmats Postad 22 juli, 2016 Trådskapare Share Postad 22 juli, 2016 Då får vi kanske klura ut hur som ser att du loggar in via script. Du sätter ingen user-agent, det kanske du ska göra. Ange en user-agent som stämmer med den webbläsare du normalt använder. Annars kanske dom triggar på ip-adressen om det är så att du kör ifrån en server. Det är knepigare att ändra på. Antagligen får du köra via en proxy i så fall, men börja med att sätta en user-agent och se om det hjälper. Jag har precis pratat med dom och det var spärrat pga för många inloggningsförsök. Dom har släppt på det nu så nu loggar scriptet in, men min preg_match fungerar inte fortfarande. echo $page skriver ut den inloggade sidan så det är min preg_match() som inte fungerar nu, men varför? EDIT!! Hittade just felet i min preg_match ... ett saknat \ preg_match('/kontobalans: <b>(.*?)<\/b>/', $page, $v); preg_match('/kontobalans: <b>(.*?)</b>/', $page, $v); echo '<tr><td>'.utf8_encode($m['owner']).'</td><td>'.$m['account'].'</td><td align=right>...'.$v[1].'</td></tr>'; SIDKÄLLA <div class="container_16"> <div class="grid_16 bottomSpacer" id="head"><a STYLE="color: black; text-decoration: none;" href="index.php"><img src="img/top_logo.gif" alt="logo"><span STYLE="font-size: 21px; position: relative; left: +7px; top: +4px; font-style: italic; text-shadow: 2px 2px white;">mo-sms</span></a><span STYLE="font-size: 14px; position: relative; left: +17px; top: +4px; color:#919191; font-style: italic;">i branschen sedan 2003</span> <a href="logout.php" class="buttonH floatR"><img src="img/icon_loggaut.png" alt="logout" />Logga ut</a> <a class="floatR" style="padding-top: 4px; padding-right: 15px; color: black; font-size: 12px; text-decoration: none;" href="vinst_logg.php"><img STYLE="margin-right: 7px; position: relative; top: -2px;" src="img/icon_coins.png"/> Din kontobalans: <b>181,20</b> kr (exkl moms)</a> </div> Länk till kommentar Dela på andra webbplatser More sharing options...
mac3 Postad 8 augusti, 2016 Share Postad 8 augusti, 2016 Hej testa med den här $re = "/Din kontobalans: <b>(?<kontobalans>[^< ]+)/"; $str = "<div class=\"container_16\">\n<div class=\"grid_16 bottomSpacer\" id=\"head\"><a STYLE=\"color: black; text-decoration: none;\" href=\"index.php\"><img src=\"img/top_logo.gif\" alt=\"logo\"><span STYLE=\"font-size: 21px; position: relative; left: +7px; top: +4px; font-style: italic; text-shadow: 2px 2px white;\">mo-sms</span></a><span STYLE=\"font-size: 14px; position: relative; left: +17px; top: +4px; color:#919191; font-style: italic;\">i branschen sedan 2003</span>\n<a href=\"logout.php\" class=\"buttonH floatR\"><img src=\"img/icon_loggaut.png\" alt=\"logout\" />Logga ut</a>\n<a class=\"floatR\" style=\"padding-top: 4px; padding-right: 15px; color: black; font-size: 12px; text-decoration: none;\" href=\"vinst_logg.php\"><img STYLE=\"margin-right: 7px; position: relative; top: -2px;\" src=\"img/icon_coins.png\"/> Din kontobalans: <b>181,20</b> kr (exkl moms)</a>\n</div>"; preg_match($re, $str, $matches); Länk till kommentar Dela på andra webbplatser More sharing options...
kungmats Postad 8 augusti, 2016 Trådskapare Share Postad 8 augusti, 2016 Hej testa med den här $re = "/Din kontobalans: <b>(?<kontobalans>[^< ]+)/"; $str = "<div class=\"container_16\">\n<div class=\"grid_16 bottomSpacer\" id=\"head\"><a STYLE=\"color: black; text-decoration: none;\" href=\"index.php\"><img src=\"img/top_logo.gif\" alt=\"logo\"><span STYLE=\"font-size: 21px; position: relative; left: +7px; top: +4px; font-style: italic; text-shadow: 2px 2px white;\">mo-sms</span></a><span STYLE=\"font-size: 14px; position: relative; left: +17px; top: +4px; color:#919191; font-style: italic;\">i branschen sedan 2003</span>\n<a href=\"logout.php\" class=\"buttonH floatR\"><img src=\"img/icon_loggaut.png\" alt=\"logout\" />Logga ut</a>\n<a class=\"floatR\" style=\"padding-top: 4px; padding-right: 15px; color: black; font-size: 12px; text-decoration: none;\" href=\"vinst_logg.php\"><img STYLE=\"margin-right: 7px; position: relative; top: -2px;\" src=\"img/icon_coins.png\"/> Din kontobalans: <b>181,20</b> kr (exkl moms)</a>\n</div>"; preg_match($re, $str, $matches); Tack .. jag kan testa din variant vid tillfälle, men som du kanske såg ovanför så har jag fått det att fungera. Länk till kommentar Dela på andra webbplatser More sharing options...
mac3 Postad 8 augusti, 2016 Share Postad 8 augusti, 2016 Tack .. jag kan testa din variant vid tillfälle, men som du kanske såg ovanför så har jag fått det att fungera. jag tänkte om du ville ha med namn på nyckeln när du skriver ut och min slutar vid mellanslag eller < Länk till kommentar Dela på andra webbplatser More sharing options...
Rekommendera Poster
Arkiverat
Det här ämnet är nu arkiverat och är stängt för ytterligare svar.