Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Nie wysyła SMS
Forum PHP.pl > Forum > Przedszkole
szymon202
  1. <?php
  2. class PlaySMS
  3. {
  4.  
  5. function Login($Login, $Pass)
  6. {
  7.  
  8. $SAML = array('SAMLRequest' => $this->GetGateway(), 'target'=> 'https://bramka.play.pl');
  9.  
  10. $Query = $this->cURL('https://logowanie.play.pl/p4-idp2/SSOrequest.do', $SAML, 'https://bramka.play.pl/composer/public/mmsCompose.do');
  11.  
  12. preg_match('/name="random" value="(.+?)"/', $Query, $Rand);
  13.  
  14. $Post = array('step' => 1, 'next' => 'Next', 'random' => $Rand[1], 'login' => $Login, 'password' => $Pass);
  15.  
  16. $Logged = $this->cURL('https://logowanie.play.pl/p4-idp2/Login.do', $Post, '', 0);
  17.  
  18. $LoggedPost = array('SAMLResponse' => $this->GetResponse($Logged), 'target'=>'https://bramka.play.pl');
  19.  
  20. $this->cURL('https://bramka.play.pl/composer/samlLog?action=sso', $LoggedPost, 'https://logowanie.play.pl/p4-idp2/SSOrequest.do');
  21.  
  22. $this->cURL('https://bramka.play.pl/composer/j_security_check', $LoggedPost, 'https://bramka.play.pl/composer/samlLog?action=sso');
  23.  
  24. }
  25.  
  26. public function SendSMS($Number, $Text)
  27. {
  28.  
  29. $Query = $this->cURL('https://bramka.play.pl/composer/public/editableSmsCompose.do');
  30.  
  31. preg_match('/name="randForm" value="(.+?)"/', $Query, $Rand);
  32.  
  33. $SMS = array('re*****nts' => $Number, 'content_in' => $Text, 'czas' => 0, 'sendform' => 'on', 'randForm' => $Rand[1], 'old_signature' => '', 'old_content' => $Text, 'content_out' => $Text);
  34.  
  35. $this->cURL('https://bramka.play.pl/composer/public/editableSmsCompose.do', $SMS);
  36.  
  37. $SMS['SMS_SEND_CONFIRMED'] = 'Wyślij';
  38.  
  39. $CheckQuery = $this->cURL('https://bramka.play.pl/composer/public/editableSmsCompose.do', $SMS);
  40.  
  41. if(preg_match('/Wiadomo(.*) zosta(.*)a wys(.*)ana/', $CheckQuery))
  42. {
  43.  
  44. return true;
  45.  
  46. }
  47.  
  48. else
  49. {
  50.  
  51. return FALSE;
  52. }
  53.  
  54. }
  55.  
  56. function cURL($URL, $Post = NULL, $Reffer = NULL, $Follow = 1)
  57. {
  58.  
  59. $Connect = curl_init($URL);
  60.  
  61. curl_setopt($Connect, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7');
  62. curl_setopt($Connect, CURLOPT_RETURNTRANSFER, 1);
  63.  
  64. curl_setopt($Connect, CURLOPT_COOKIEJAR, 'cookies.txt');
  65. curl_setopt($Connect, CURLOPT_COOKIEFILE, 'cookies.txt');
  66.  
  67. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  68.  
  69. if(!empty($Post))
  70. {
  71.  
  72. $Vars = '';
  73.  
  74. foreach ($Post as $Key => $Value)
  75. {
  76.  
  77. $Vars .= $Key.'='.urlencode($Value).'&';
  78.  
  79. }
  80.  
  81. curl_setopt($Connect, CURLOPT_POST, 1);
  82. curl_setopt($Connect, CURLOPT_POSTFIELDS, $Vars);
  83.  
  84. }
  85.  
  86. if(!empty($Reffer))
  87. {
  88.  
  89. curl_setopt($Connect, CURLOPT_REFERER, $Reffer);
  90.  
  91. }
  92.  
  93. curl_setopt($Connect, CURLOPT_RETURNTRANSFER, 1);
  94. curl_setopt($Connect, CURLOPT_HEADER, 1);
  95. curl_setopt($Connect, CURLOPT_FOLLOWLOCATION, $Follow);
  96.  
  97. $Return = curl_exec($Connect);
  98.  
  99. curl_close($Connect);
  100.  
  101. return $Return;
  102.  
  103. }
  104.  
  105. function GetGateway()
  106. {
  107.  
  108. $Query = $this->cURL('https://bramka.play.pl/composer/public/mmsCompose.do', NULL, '', 0);
  109.  
  110. preg_match('/value="(.*)"/msU', $Query, $Return);
  111.  
  112. return $Return[1];
  113.  
  114. }
  115.  
  116. public function GetResponse($Text)
  117. {
  118.  
  119. preg_match('/value="(.*)"/msU', $Text, $Return);
  120.  
  121. return trim($Return[1]);
  122.  
  123. }
  124.  
  125. function __destruct()
  126. {
  127.  
  128. unlink('cookies.txt');
  129.  
  130. }
  131.  
  132. }
  133.  
  134. $PlaySMS = new PlaySMS();
  135.  
  136. $PlaySMS->Login('mojlogin', 'mojehaslo');
  137.  
  138. if($PlaySMS->SendSMS('nrdokogochcewyslac', 'TreśćWiadomości'))
  139. {
  140.  
  141. echo 'Wiadomość wysłana';
  142.  
  143. }
  144.  
  145. else
  146. {
  147.  
  148. echo 'Wiadomość niestety nie została wysłana';
  149.  
  150. }


Wyświetla mi:
Wiadomość niestety nie została wysłana.
johny_s
No to posprawdzaj odpowiedzi serwera. My to mamy sprawdzać?
szymon202
Cytat(johny_s @ 21.03.2015, 17:45:23 ) *
No to posprawdzaj odpowiedzi serwera. My to mamy sprawdzać?

W jaki sposób?
johny_s
Jak Ci wygodniej, echo, var_dump, zapis do pliku
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.