Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [CURL] Logowanie mBank/OrangeFinanse
hostcom
post 23.12.2014, 12:21:55
Post #1





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 1.03.2008

Ostrzeżenie: (0%)
-----


Witam
Piszę klasę do logowania i pobierania historii z mBank lub Orange Finanse

Doszłem do tego iż logowanie przebiega pomyślnie lecz gdy ma nastąpić przekierowanie na stronę dostaję 404. mógły ktoś zerknąć na skrypt?

  1. <?php
  2. $login='';
  3. $haslo='';
  4. echo '<pre>';
  5. $send= new OrangeFinanse();
  6. $ret = $send->Login($login,$haslo);
  7.  
  8.  
  9.  
  10. class OrangeFinanse{
  11.  
  12.  
  13. public static function curl ($url, $post = NULL, $ref = NULL, $follow = 1, $header = 1, $post_type = 0)
  14. {
  15. $ch = curl_init ($url);
  16. curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.1.7) Gecko/20091221 Firefox/23.5.7');
  17. $headers = array('Accept-Language: pl,en-us;q=0.7,en;q=0.3','Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7', 'Accept:application/json, text/javascript, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8');
  18. curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
  19. curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);
  20. // Zapisywanie ciastek do pliku
  21. curl_setopt($ch,CURLOPT_COOKIEJAR, dirname(__FILE__).'/orange.txt');
  22. curl_setopt($ch,CURLOPT_COOKIEFILE, dirname(__FILE__).'/orange.txt');
  23. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  24. if ( ! empty($post))
  25. {
  26. if(!$post_type){
  27. $postVars='';
  28. foreach ($post as $option => $value)
  29. $postVars .= $option.'='.urlencode($value).'&';
  30. curl_setopt($ch, CURLOPT_POST, 1);
  31. curl_setopt($ch, CURLOPT_POSTFIELDS, $postVars);
  32. }
  33. }else{
  34. curl_setopt($ch, CURLOPT_POST, 1);
  35. curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
  36.  
  37. }
  38. if($ref)
  39. curl_setopt($ch, CURLOPT_REFERER, $ref);
  40. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  41. curl_setopt($ch, CURLOPT_HEADER, 0);
  42. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  43. $r = curl_exec($ch);
  44. curl_close($ch);
  45. return $r;
  46. }
  47.  
  48.  
  49. public function Login ($login,$haslo)
  50. {
  51.  
  52.  
  53.  
  54. $conetens2 = $this->curl('https://orangefinanse.com.pl/or/Login', $POST,'https://orangefinanse.com.pl/or/Login');
  55. $conetens = str_replace('"/','"https://orangefinanse.com.pl/',$conetens2);
  56.  
  57.  
  58.  
  59.  
  60. preg_match_all('/entrypoint.initialize\(\'(.+?)\'/', htmlspecialchars($conetens), $rand);
  61. $POST=array(
  62. 'UserName'=>$login,
  63. 'Password'=>$haslo,
  64. 'Seed'=>$rand[1][0],
  65. 'Scenario'=>'Default',
  66. 'UWAdditionalParams'=>array('InOut'=>'','ReturnAddress'=>'','Source'=>''),
  67. 'Lang'=>'',
  68. 'source'=>'',
  69. );
  70. $POST=json_encode($POST);
  71.  
  72. /*
  73. Przesłanie Danych do Logowania
  74. **************************************************************************
  75. *************************************************************************/
  76. $ret=$this->curl_json('https://orangefinanse.com.pl/or/LoginMain/Account/JsonLogin',$POST);
  77. print_r(json_decode($ret));
  78. /*LOGOWANIE POPRAWNE*/
  79.  
  80.  
  81.  
  82. */Przekierowanie na strone główną i 404*/
  83.  
  84.  
  85. $ret=$this->curl('https://orangefinanse.com.pl/or',null,'https://orangefinanse.com.pl/or/Login');
  86. echo $conetens = str_replace(array('"/','\'/\''),'"https://orangefinanse.com.pl/',$ret);
  87.  
  88.  
  89. }
  90.  
  91. public static function curl_json($url,$post=null){
  92. $ch = curl_init($url);
  93. curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.1.7) Gecko/20091221 Firefox/23.5.7');
  94. curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
  95. if($post)
  96. curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
  97. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  98. curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  99. 'Content-Type: application/json',
  100. 'Content-Length: ' . strlen($post))
  101. );
  102. curl_setopt($ch,CURLOPT_COOKIEJAR, dirname(__FILE__).'/orange.txt');
  103. curl_setopt($ch,CURLOPT_COOKIEFILE, dirname(__FILE__).'/orange.txt');
  104. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  105. $r = curl_exec($ch);
  106. curl_close($ch);
  107. return $r;
  108.  
  109.  
  110.  
  111. }
  112.  
  113.  
  114. }


Cytat(hostcom @ 22.12.2014, 15:28:58 ) *
Witam
Piszę klasę do logowania i pobierania historii z mBank lub Orange Finanse

Doszłem do tego iż logowanie przebiega pomyślnie lecz gdy ma nastąpić przekierowanie na stronę dostaję 404. mógły ktoś zerknąć na skrypt?


Problem rozwiązany

Ten post edytował hostcom 22.12.2014, 15:30:21
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.06.2025 - 23:34