Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Получить страницу PHP

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
event
Отправлено: 07 Января, 2016 - 01:57:32
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 542
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Нужно получить страницу - [url]http://bgp.he.net/search?search[search]=corbina&commit=Search[/url]

Пробую так:

PHP:
скопировать код в буфер обмена
  1. <?PHP function get_page($url)
  2.         {
  3.          $uagent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36';
  4.      $ch = curl_init();
  5.      curl_setopt($ch, CURLOPT_URL, $url);
  6.      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  7.      curl_setopt($ch, CURLOPT_HEADER, 0);
  8.      //curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  9.      curl_setopt($ch, CURLOPT_USERAGENT, $uagent);
  10.      curl_setopt($ch, CURLOPT_TIMEOUT, 60);
  11.      curl_setopt($ch, CURLOPT_FAILONERROR, 1);
  12.      curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
  13.      //curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
  14.      //curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
  15.      curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__).DS.'cookies.txt');
  16.      curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__).DS.'cookies.txt');
  17.          $content = curl_exec( $ch );
  18.      curl_close($ch);
  19.          
  20.      return $content;
  21.     }
  22.  
  23.  $url = "http://bgp.he.net/search?search[search]=corbina&commit=Search";       
  24.      $content = get_page($url);
  25.  
  26.  die($content);
  27.  


Но получаю - bgp.he.net requires javascript and cookies to function. Please enable these in your browser.

Сайт распознает что я пытаю забрать страницу и просит включить куки и javascript и не отдает ее. Вопрос в том как обойти?
 
 Top
Prizma
Отправлено: 07 Января, 2016 - 09:09:14
Post Id



Посетитель


Покинул форум
Сообщений всего: 463
Дата рег-ции: Июнь 2012  
Откуда: Санкт-Петербург


Помог: 5 раз(а)




event пишет:
Сайт распознает что я пытаю забрать страницу и просит включить куки и javascript и не отдает ее. Вопрос в том как обойти?

Страница использует js для создания куки, если ты добавишь эту куку в cookies.txt то без проблем сможешь получить доступ к этой странице.

Попробовал загрузить страницу с включенным js - успешно.
Попробывал загрузить страницу с выключенным js - успешно (куки были полученны при предыдущей загрузке)
После очистки куки с выключенным js сайт делает переадресацию.

Если быть точным сомневаюсь, что куки добавляются по средством js скорее всего просто происходит переадресация на страницу, которая создает куки.

Через хром можешь вытащить куки с сайта и добавить их в свой txt, и будет тебе счастье)
(Добавление)
Немного посмотрел как себя ведет страница:
После загрузки js отправляет post запрос сюда http://bgp.he.net/cc
Далее на этой волшебной странице тебе передаются куки если все данные формы были переданы естественно, и перенаправляет тебя обратно на ту страницу которая тебе нужна.

т.е. если всё делать по уму тебе надо через curl сразу отправлять post-запрос сюда http://bgp.he.net/cc... По моему вот этот код отправляет форму, вытащи ее оттуда через js_encode и отправь через curl, если это не она, тогда ищи в js файлах на странице.

CODE (javascript):
скопировать код в буфер обмена
  1. var _0xb539 = ["\x62\x67\x70\x2E\x68\x65\x2E\x6E\x65\x74\x20\x72\x65\x71\x75\x69\x72\x65\x73\x20\x6A\x61\x76\x61\x73\x63\x72\x69\x70\x74\x20\x61\x6E\x64\x20\x63\x6F\x6F\x6B\x69\x65\x73\x20\x74\x6F\x20\x66\x75\x6E\x63\x74\x69\x6F\x6E\x2E\x20\x20\x50\x6C\x65\x61\x73\x65\x20\x65\x6E\x61\x62\x6C\x65\x20\x74\x68\x65\x73\x65\x20\x69\x6E\x20\x79\x6F\x75\x72\x20\x62\x72\x6F\x77\x73\x65\x72\x2E", "\x74\x65\x78\x74", "\x23\x65\x72\x72\x6F\x72", "\x68\x61\x73\x68", "\x6C\x6F\x63\x61\x74\x69\x6F\x6E", "\x3F\x68\x3D", "\x72\x65\x73\x70\x6F\x6E\x73\x65", "\x70\x61\x74\x68", "\x63\x6F\x6F\x6B\x69\x65", "\x6A\x73\x74\x65\x73\x74", "\x70\x6F\x73\x74", "\x61\x6A\x61\x78"];
  2. function printerror() {
  3.     $(_0xb539[2])[_0xb539[1]](_0xb539[0])
  4. }
  5. function doredirect(_0x1cc4x3) {
  6.     url = '/cr';
  7.     if (window[_0xb539[4]][_0xb539[3]]) {
  8.         url += _0xb539[5] + encodeURIComponent(window[_0xb539[4]][_0xb539[3]])
  9.     }
  10.     ;
  11.     window[_0xb539[4]] = url;
  12. }
  13. $(function () {
  14.     $[_0xb539[11]]({
  15.         url: '/i', dataType: _0xb539[1], complete: function (_0x1cc4x3) {
  16.             ip = _0x1cc4x3[_0xb539[6]];
  17.             $[_0xb539[11]]({
  18.                 url: '/jc',
  19.                 data: {p: $[_0xb539[9]]($[_0xb539[8]](_0xb539[7])), i: $[_0xb539[9]](ip)},
  20.                 type: _0xb539[10],
  21.                 error: printerror,
  22.                 complete: doredirect
  23.             });
  24.         }, error: printerror
  25.     })
  26. });

Прикреплено изображение (Нажмите для увеличения)
help.jpg

(Отредактировано автором: 07 Января, 2016 - 09:09:28)

 
My status
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB