Advertisement
Guest User

Untitled

a guest
Jun 29th, 2016
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.75 KB | None | 0 0
  1. <?
  2. function login($url,$login,$pass){
  3.  
  4. $ch = curl_init();
  5. if(strtolower((substr($url,0,5))=='https')) { // если соединяемся с https
  6. //моя вставка
  7. curl_setopt($ch, CURLOPT_COOKIESESSION, true);
  8. //моя вставка
  9. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
  10. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
  11. }
  12. curl_setopt($ch, CURLOPT_URL, $url);
  13. // откуда пришли на эту страницу
  14. curl_setopt($ch, CURLOPT_REFERER, $url);
  15. // cURL будет выводить подробные сообщения о всех производимых действиях
  16. curl_setopt($ch, CURLOPT_VERBOSE, 1);
  17. curl_setopt($ch, CURLOPT_POST, 1);
  18. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  19. curl_setopt($ch, CURLOPT_POSTFIELDS,"username=".$login."&password=".$pass);
  20. curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36");
  21. curl_setopt($ch, CURLOPT_HEADER, 1);
  22. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  23.  
  24. echo "username=".$login."&password=".$pass;
  25. //сохранять полученные COOKIE в файл
  26. curl_setopt($ch, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT'].'/cookie.txt');
  27. $result=curl_exec($ch);
  28.  
  29.  
  30. // Убеждаемся что произошло перенаправление после авторизации
  31. if(strpos($result,"Location: home.php")===false) die('Login incorrect');
  32.  
  33. curl_close($ch);
  34.  
  35. return $result;
  36. }
  37.  
  38. // чтение страницы после авторизации
  39. function Read($url){
  40. $ch = curl_init();
  41. curl_setopt($ch, CURLOPT_URL, $url);
  42. curl_setopt($ch, CURLOPT_COOKIESESSION, true);
  43. // откуда пришли на эту страницу
  44. curl_setopt($ch, CURLOPT_REFERER, $url);
  45. //запрещаем делать запрос с помощью POST и соответственно разрешаем с помощью GET
  46. curl_setopt($ch, CURLOPT_POST, 0);
  47. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  48. //отсылаем серверу COOKIE полученные от него при авторизации
  49. curl_setopt($ch, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT'].'/cookie.txt');
  50. curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (Windows; U; Windows NT 5.0; En; rv:1.8.0.2) Gecko/20070306 Firefox/1.0.0.4");
  51.  
  52. $result = curl_exec($ch);
  53.  
  54. curl_close($ch);
  55.  
  56. return $result;
  57. }
  58.  
  59.  
  60.  
  61. $urlAut = "https://auth.vezetvsem.ru/auth/login";
  62.  
  63. login($urlAut,"6kp5228wi4@kismail.ru","w33q5u8t");
  64.  
  65. $page = Read("http://www.vezetvsem.ru/listing");
  66.  
  67. echo $page;
  68. ?>
  69.  
  70. $data = array('username' => username, 'password' => password, login =>Войти);
  71. curl_setopt($ch, CURLOPT_URL, $url);
  72. curl_setopt($ch, CURLOPT_COOKIESESSION, true);
  73. curl_setopt($ch, CURLOPT_REFERER, $url);
  74. curl_setopt($ch, CURLOPT_POST, 1);
  75. curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
  76. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  77. curl_setopt($ch, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT'].'/cookie.txt');
  78. curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (Windows; U; Windows NT 5.0; En; rv:1.8.0.2) Gecko/20070306 Firefox/1.0.0.4");
  79.  
  80. $result = curl_exec($ch);
  81.  
  82. $ch = curl_init();
  83. if(strtolower((substr($url,0,5))=='https')) { // если соединяемся с https
  84. //моя вставка
  85. curl_setopt($ch, CURLOPT_COOKIESESSION, true);
  86. //моя вставка
  87. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
  88. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
  89. }
  90. curl_setopt($ch, CURLOPT_URL, $url);
  91. // откуда пришли на эту страницу
  92. curl_setopt($ch, CURLOPT_REFERER, $url);
  93. // cURL будет выводить подробные сообщения о всех производимых действиях
  94. curl_setopt($ch, CURLOPT_VERBOSE, 1);
  95. curl_setopt($ch, CURLOPT_POST, 1);
  96. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  97. curl_setopt($ch, CURLOPT_POSTFIELDS,"username=".$login."&password=".$pass);
  98. curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36");
  99. curl_setopt($ch, CURLOPT_HEADER, 1);
  100. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  101.  
  102. //сохранять полученные COOKIE в файл
  103. curl_setopt($ch, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT'].'/cookievezetvsem.txt');
  104. $result=curl_exec($ch);
  105.  
  106.  
  107. // Убеждаемся что произошло перенаправление после авторизации
  108. //if(strpos($result,"Location: home.php")===false) die('Login incorrect'); // для чего нужен этот код и как он работает?
  109.  
  110. curl_close($ch);
  111.  
  112. return $result;
  113. }
  114.  
  115. // чтение страницы после авторизации
  116. function Read($url){
  117. $ch = curl_init();
  118. curl_setopt($ch, CURLOPT_URL, $url);
  119. curl_setopt($ch, CURLOPT_COOKIESESSION, true);
  120. // откуда пришли на эту страницу
  121. curl_setopt($ch, CURLOPT_REFERER, $url);
  122. //запрещаем делать запрос с помощью POST и соответственно разрешаем с помощью GET
  123. curl_setopt($ch, CURLOPT_POST, 0);
  124. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  125. //отсылаем серверу COOKIE полученные от него при авторизации
  126. curl_setopt($ch, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT'].'/cookievezetvsem.txt');
  127. curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36");
  128.  
  129. $result = curl_exec($ch);
  130.  
  131. curl_close($ch);
  132.  
  133. return $result;
  134. }
  135.  
  136.  
  137. function mainParser( $url )// парсер с кукисами
  138. {
  139.  
  140. $ch = curl_init( $url );
  141.  
  142. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // возвращает веб-страницу
  143. curl_setopt($ch, CURLOPT_COOKIESESSION, true);
  144. curl_setopt($ch, CURLOPT_HEADER, 0); // не возвращает заголовки
  145. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // переходит по редиректам
  146. curl_setopt($ch, CURLOPT_ENCODING, ""); // обрабатывает все кодировки
  147. curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36"); // useragent
  148. curl_setopt($ch, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT'].'/cookievezetvsem.txt'); //хотя тут скорей всего он не записывает, а после каждого прохода вновь обращается к этому файлу
  149. curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120); // таймаут соединения
  150. curl_setopt($ch, CURLOPT_TIMEOUT, 120); // таймаут ответа
  151. curl_setopt($ch, CURLOPT_MAXREDIRS, 10); // останавливаться после 10-ого редиректа
  152.  
  153.  
  154. $content = curl_exec( $ch );
  155. $err = curl_errno( $ch );
  156. $errmsg = curl_error( $ch );
  157. $header = curl_getinfo( $ch );
  158. curl_close( $ch );
  159.  
  160. $header['errno'] = $err;
  161. $header['errmsg'] = $errmsg;
  162. $header['content'] = $content;
  163. return $header;
  164. }
  165.  
  166.  
  167. $urlAut = "https://auth.vezetvsem.ru/auth/login";
  168.  
  169. login($urlAut,"XXX","XXX");
  170. //login($urlAut,"6kp5228wi4@kismail.ru","w33q5u8t"); // по непонятной причине, эта пара Login, пароль возвращает неавторизованную страницу, Почему, я не понимаю.
  171.  
  172. //$result = Read("http://www.vezetvsem.ru/listing"); // по какой то причине эта функция не работает, почему, я пока не понимаю
  173.  
  174.  
  175.  
  176. $result = mainParser("http://www.vezetvsem.ru/listing");
  177. $page = $result['content'];
  178. echo $page;
  179. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement