Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Inteligo i php
Forum PHP.pl > Forum > PHP
rajdzen
Po ostatnich zmianach na stronie Inteligo udalo mi sie zalogowac i zczytac dane konkretnego konta ale niemoge pobrac pliku, ktory zawieta spis tranzakcji danego konta. Moze ktos z was sie juz uporal?
Ponize moj kod i prosze o pomoc jak ktos zauwazy co jest nie tak:

skrypty skladaja sie z 3 plikow: index.php inteligo.inc, _bank.inc

plik <b>index.php</b>
  1. <?php
  2. // nazwa rachunku jak jest konto nazwane
  3. $rachunek0="nazwa_rachunku";
  4. include("_bank.inc");
  5. ?>



plik <b>_bank.inc</b>
  1. <?php
  2. // plik _bank.inc
  3. ///
  4. // rajdzen
  5. //
  6. include("inteligo.inc");
  7.  
  8. //strona 1 - logowanie
  9. $login="14553000"; //identyfikator
  10. $haslo="TWOJE_HASLO";
  11. $url='https://inteligo.pl/secure';
  12. $logowanie = get_file_contents($url);
  13.  
  14. preg_match("/sd\" type=\"hidden\" value=\"(.*?)\">/is", $logowanie, $sid);
  15. $zalogowany = formularz_logowanie($url,$sid[1],$login,$haslo);
  16. //strona 2 - konta
  17. // pobieranie zmiennych
  18. preg_match("/ias.form_protect\" value=\"(.*?)\">/is", $zalogowany, $ias_form_protect);
  19. preg_match("/\"ias_navi_map\" value=\"(.*?)\" /is", $zalogowany, $ias_navi_map);
  20. preg_match("/\"ias_sid\" value=\"(.*?)\">/is", $zalogowany, $ias_sid);
  21. preg_match("/title=\"$rachunek0\" class=\"hidden_link_submit\" type=\"submit\" style=\"display: none;\" name=\"dynsub_(.*?)\">$rachunek0/is", $zalogowany, $Tnumer);
  22. preg_match("/\"back_reload_protection\" value=\"(.*?)\">/is", $zalogowany, $back_reload_protection);
  23. $numer=$Tnumer[1];
  24. $numer=$numer+2;
  25. $numer="dynsub_".$numer;
  26.  
  27. $rachunek=$numer;
  28.  
  29. $zalogowany2 = dane($url,$rachunek,$ias_form_protect[1],$ias_navi_map[1],$ias_sid[1],$back_reload_protection[1]);
  30. $rachunek=$rachunek0;
  31.  
  32. preg_match("/ias.form_protect\" value=\"(.*?)\">/is", $zalogowany2, $ias_form_protect2);
  33. preg_match("/\"back_reload_protection\" value=\"(.*?)\">/is", $zalogowany2, $back_reload_protection2);
  34. preg_match("/\"ias_navi_map\" value=\"(.*?)\" /is", $zalogowany2, $ias_navi_map2);
  35.  
  36.  
  37.  
  38.  
  39. $zalogowany3 = plik($url,$rachunek,$ias_form_protect2[1],$ias_navi_map2[1],$ias_sid[1],$back_reload_protection2[1]);
  40.  
  41.  
  42. // i tu pojawiaja sie schody - wywala blad
  43. echo $zalogowany3;
  44.  
  45. $tablicaLinie = explode("\n", $zalogowany3);
  46. // dane mamy w tablicy i reszta wedlug uznania
  47. print_r(tablicaLinie);
  48. ?>
  49.  
  50.  


plik inteligo.inc
  1.  
  2. <?
  3. // plik inteligo.inc
  4. ///
  5. // rajdzen
  6. //
  7. function get_file_contents($url)
  8. {
  9.  
  10. $read = curl_init();
  11. curl_setopt ($read, CURLOPT_URL, $url);
  12. curl_setopt ($read, CURLOPT_HEADER, false);
  13. curl_setopt($read, CURLOPT_SSL_VERIFYPEER, false); //SSL
  14. curl_setopt($read, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/cookies.txt');
  15. curl_setopt($read, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookies.txt');
  16. curl_exec ($read);
  17. curl_close ($read);
  18. $file = ob_get_contents();
  19. return $file;
  20. }
  21.  
  22.  
  23. function formularz_logowanie($url,$sid,$login,$haslo)
  24. {
  25.  
  26. $read = curl_init();
  27.  
  28. $postFields['sd'] = "$sid";
  29. $postFields['form_name'] = 'login';
  30. $postFields['cif'] = $login; //IDENTYFIKATOR
  31. $postFields['password'] = $haslo; //HASLO
  32.  
  33. curl_setopt($read, CURLOPT_SSL_VERIFYPEER, false); //SSL
  34. curl_setopt($read, CURLOPT_POSTFIELDS, $postFields);
  35. curl_setopt ($read, CURLOPT_URL, $url);
  36. curl_setopt ($read, CURLOPT_HEADER, false);
  37. curl_setopt($read, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/cookies.txt');
  38. curl_setopt($read, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookies.txt');
  39. curl_exec ($read);
  40. curl_close ($read);
  41. $file = ob_get_contents();
  42. return $file;
  43. }
  44.  
  45. function dane($url,$rachunek,$ias_form_protect,$ias_navi_map,$ias_sid,$back_reload_protection)
  46. {
  47.  
  48.  
  49. $url=$url."/igo2";
  50. $read = curl_init();
  51. $postFields['ias_sid'] = "$ias_sid";
  52.  
  53. $postFields['ias_navi_map'] = "$ias_navi_map";
  54. $postFields['ias_post_into'] = "/accounts/accounts/submit";
  55.  
  56. $postFields['ias_form_protect'] = "$ias_form_protect";
  57. $postFields['back_reload_protection'] = "$back_reload_protection";
  58. $postFields[$rachunek] = "";
  59.  
  60.  
  61. curl_setopt($read, CURLOPT_SSL_VERIFYPEER, false); //SSL
  62. curl_setopt($read, CURLOPT_POSTFIELDS, $postFields);
  63. curl_setopt ($read, CURLOPT_URL, $url);
  64. curl_setopt ($read, CURLOPT_HEADER, false);
  65. curl_setopt($read, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/cookies.txt');
  66. curl_setopt($read, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookies.txt');
  67. curl_setopt($read, CURLOPT_FOLLOWLOCATION, 1);
  68. curl_exec ($read);
  69. curl_close ($read);
  70. $file = ob_get_contents();
  71. return $file;
  72. }
  73.  
  74.  
  75.  
  76.  
  77. function plik($url,$rach,$ias_form_protect,$ias_navi_map,$ias_sid,$back_reload_protection){
  78.  
  79. $url=$url."/igo2";
  80.  
  81. $read = curl_init();
  82. $postFields['ias_sid'] = "$ias_sid";
  83. $postFields['__ie__bug__workaround__'] = "";
  84. $postFields['ias_navi_map'] = "$ias_navi_map";
  85. $postFields['back_reload_protection'] = "$back_reload_protection";
  86. $postFields['ias.form_protect'] = "$ias_form_protect";
  87. $postFields['ias_post_into'] = "/accounts/history/submit";
  88. $postFields['fields_search-selected_acc'] = "52102055581111145663401022"; // tu podaj poprawnie konto
  89. $postFields['fields_search-date_range-since'] = '2011-08-22';
  90. $postFields['fields_search-date_range-to'] = '2011-11-22';
  91. $postFields['fields_search-show_advanced'] = '0';
  92.  
  93. $postFields['format'] = "csv";
  94. $postFields['dynsub_12'] = "";
  95. $postFields['menu'] = '';
  96.  
  97.  
  98.  
  99. curl_setopt($read, CURLOPT_SSL_VERIFYPEER, false); //SSL
  100. curl_setopt($read, CURLOPT_POSTFIELDS, $postFields);
  101. curl_setopt ($read, CURLOPT_URL, $url);
  102. curl_setopt ($read, CURLOPT_HEADER, false);
  103. curl_setopt($read, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/cookies.txt');
  104. curl_setopt($read, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookies.txt');
  105. curl_setopt($read, CURLOPT_FOLLOWLOCATION, 1);
  106. $sResultFile = curl_exec ($read);
  107.  
  108. curl_close ($read);
  109.  
  110. $file = ob_get_contents();
  111. return $file;
  112. }
  113. ?>


Jak ktos cos zauwazy co robie nie tak to niech smialo pisze
L00zak
na końcu zamiast $postFields['dynsub_12']
powinna być zmienna $postFields['dynsub_13']
te0dor
Odswieżam, no i co z tym zapisem historii? Kolega poradził sobie? Ja sie rownież zatrzymałem w tym miejscu. zamiast zapisywac mi plik z hostoria np. csv, to curl zapisuje mi tresc strony, . Czyli cos nie tak, moze cos w header w curl ma byc odpowienio ustawione.

Ktoś podpowie?

Nikogo to nie interesuje? NIema tu nikogo kto nie ma tego zrobionego?
rajdzen
Odgrzewam kotleta....

Znowu atakuje inteligo ale teraz widze ze chyba jakies zabezpieczenie wprowadzili bo nic mi sie nie pokazuje a dokladnie tekst

Błąd działania aplikacji
W trakcie działania aplikacji wystąpił błąd. Opis błędu jest niedostępny.
Konto Inteligo prowadzone jest przez PKO Bank Polski.
Gwarantowanie depozytów

Kto pomoze?
hostcom
Cytat(rajdzen @ 24.12.2014, 20:38:22 ) *
Odgrzewam kotleta....

Znowu atakuje inteligo ale teraz widze ze chyba jakies zabezpieczenie wprowadzili bo nic mi sie nie pokazuje a dokladnie tekst

Błąd działania aplikacji
W trakcie działania aplikacji wystąpił błąd. Opis błędu jest niedostępny.
Konto Inteligo prowadzone jest przez PKO Bank Polski.
Gwarantowanie depozytów

Kto pomoze?

3 dni temu napisałem klasę do pobierania historii z intrligo oraz PKObp koncze teraz wykonywanie przelewów
rajdzen
Cytat(hostcom @ 25.12.2014, 12:51:35 ) *
3 dni temu napisałem klasę do pobierania historii z intrligo oraz PKObp koncze teraz wykonywanie przelewów

mozesz naprowadzic co jest zle ewentualnie czy sprzedal bys skrypt, ponizej wklejam co do tej pory kombinowalem, gdzie mam byka ze zalogowac sie nie moge do banku

  1. <?php
  2.  
  3. // $c = curl_init();
  4.  
  5. function dajWartoscZmiennej($zmienna,$strona)
  6. {
  7. $r=explode($zmienna,$strona);
  8. $test=$r[1];
  9. //echo $test;
  10. $zm1=explode('"',$test);
  11. return $zm1[0];
  12.  
  13. }
  14. ////////////////
  15. // logowanie
  16. ////////////////
  17. $strona="";
  18. $ch = curl_init('https://inteligo.pl/secure/igo2'); //inicjacja curla
  19.  
  20. curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
  21.  
  22. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  23. curl_setopt($ch, CURLOPT_COOKIEFILE, '/cookies.txt');
  24. curl_setopt($ch, CURLOPT_COOKIEJAR, '/cookies.txt');
  25. $strona = curl_exec($ch); //pobieranie treści strony
  26. curl_close($ch); //zamykanie curla
  27.  
  28.  
  29. $zmienna6="";
  30. $zmienna1=dajWartoscZmiennej('name="ias_sid" value="',$strona);
  31. $zmienna2=dajWartoscZmiennej('class="ias_navi_map" value="',$strona);
  32. $zmienna3=dajWartoscZmiennej('name="back_reload_protection" value="',$strona);
  33. $zmienna4=dajWartoscZmiennej('name="ias.form_protect" value="',$strona);
  34. $zmienna5=dajWartoscZmiennej('value="Zaloguj ponownie" name="',$strona);
  35. $zmienna6=dajWartoscZmiennej('dynsub_ex_',$strona);
  36. $zmienna6="dynsub_ex_".$zmienna6;
  37.  
  38.  
  39.  
  40. echo "<hr>";
  41. echo $strona;
  42.  
  43.  
  44.  
  45. // dodane
  46.  
  47. $postFields2['cif'] = "145530**";
  48. $postFields2['password'] = "****";
  49.  
  50. $postFields2['ias_sid'] = $zmienna1;
  51. $postFields2['btn_redisplay'] = '';
  52. $postFields2['__ie__bug__workaround__'] = '9999';
  53. $postFields2['ias_navi_map'] = $zmienna2;
  54. $postFields2['ias_post_into'] = '/err/public_error/submit';
  55. //$postFields2['ias_post_into'] = '%2Fauth%2Flogin%2Fsubmit';
  56.  
  57. $postFields2['back_reload_protection'] = $zmienna3;
  58. $postFields2['ias.form_protect"'] = $zmienna4;
  59. $postFields2[$zmienna5] = "Zaloguj";
  60. $postFields2[$zmienna6] = "";
  61.  
  62. echo "<pre>";
  63. print_r($postFields2);
  64. echo "</pre>";
  65.  
  66.  
  67. $url="https://inteligo.pl/secure/igo2";
  68.  
  69. $ch = curl_init($url); //inicjacja curla
  70. // curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; U; Linux i686; pl; rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3');
  71. curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
  72.  
  73. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  74. curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields2);
  75. curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/cookies.txt');
  76. curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookies.txt');
  77. $strona = curl_exec($ch); //pobieranie treści strony
  78. curl_close($ch); //zamykanie curla
  79. echo $strona;
  80.  
  81. die("koniec");
  82.  
  83.  
  84. $read2 = curl_init('https://inteligo.pl/secure/igo2'); //inicjacja curla
  85. curl_setopt($read2, CURLOPT_RETURNTRANSFER, 1);
  86.  
  87. curl_setopt($read2, CURLOPT_SSL_VERIFYPEER, false); //SSL
  88. curl_setopt($read2, CURLOPT_POSTFIELDS, $postFields2);
  89. curl_setopt ($read2, CURLOPT_URL, $url);
  90. curl_setopt($read2, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/cookies.txt');
  91. curl_setopt($read2, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookies.txt');
  92. curl_setopt($read2, CURLOPT_FOLLOWLOCATION, 1);
  93. $sResultFile = curl_exec ($read2);
  94.  
  95. curl_close ($read2);
  96.  
  97. $file = ob_get_contents();
  98.  
  99. echo $file;
  100.  
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.