Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [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
in5ane
post 23.12.2014, 15:07:05
Post #2





Grupa: Zarejestrowani
Postów: 1 335
Pomógł: 34
Dołączył: 9.11.2005
Skąd: Wrocław

Ostrzeżenie: (10%)
X----


Cytat(hostcom @ 23.12.2014, 12:21:55 ) *
Problem rozwiązany


Z reguły dla potomnych wypadałoby podać rozwiązanie...


--------------------
> > > Tworzenie stron < < <
Go to the top of the page
+Quote Post
tete
post 23.12.2014, 21:52:41
Post #3





Grupa: Zarejestrowani
Postów: 20
Pomógł: 1
Dołączył: 15.06.2011

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


Chętnie ci sprzeda. Ale sam szukał pomocy za darmo.
Go to the top of the page
+Quote Post
hostcom
post 23.12.2014, 22:49:33
Post #4





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

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


Cytat(tete @ 23.12.2014, 21:52:41 ) *
Chętnie ci sprzeda. Ale sam szukał pomocy za darmo.

Jak skończe całość to zamieszczę...

Narazie jeszcze nad nim pracuję

Cytat(in5ane @ 23.12.2014, 15:07:05 ) *
Z reguły dla potomnych wypadałoby podać rozwiązanie...


Trzeba określać w curlu metodę przesłania danych POST bądź GET
  1. CURLOPT_CUSTOMREQUEST

Reszta to pobranie danych json.
Należy również przesłać w nagłówku X-Request-Verification-Token: pobrany z meta


Go to the top of the page
+Quote Post

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 - 12:04