Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.11.2015, 15:20   #1
JGalt
Пользователь
 
Регистрация: 15.05.2013
Сообщений: 41
По умолчанию Нужно вытащить код страницы.

Всем привет! 3 день бьюсь и не могу понять, как вытащить код страницы с сайта http://olimp.com/betting/tennis
Конкретно нужна страница, которую сервер возвращает, если поставить все галочки.
Там происходит отправка пост запроса через форму. Пытаюсь так:

PHP код:
  if( $curl curl_init() ) {
    
$header[] = "Host: olimp.com";
    
$header[] = "User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0";
    
$header[] = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
    
$header[] = "Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3";
    
$header[] = "Accept-Encoding: gzip, deflate";
    
$header[] = "Referer: http://olimp.com/betting/tennis";
    
$header[] = "Cookie: curr_lang=0; betslip=0; _ym_uid=1446809744737424045; SSID=0x0ndu0859pqf5l2jchh1lchs1m5; PHPSESSID=b8d894115f54c94e8ef4ec14ad8da8e7";
    
$header[] = "Connection: keep-alive";
    
$header[] = "Content-Type: application/x-www-form-urlencoded";
    
$header[] = "X-Frame-Options:SAMEORIGIN";
    
$header[] = "X-Powered-By:PHP/5.5.30";
    
    
curl_setopt($curlCURLOPT_URL'http://olimp.com/betting/tennis');
    
curl_setopt($curlCURLOPT_RETURNTRANSFER,0);
    
curl_setopt($curlCURLOPT_POSTtrue);
    
curl_setopt($curlCURLOPT_HTTPHEADER$header); 
    
curl_setopt($curlCURLOPT_ENCODING'gzip, deflate');
    
curl_setopt($curlCURLOPT_HEADER1);
    
curl_setopt($curlCURLOPT_FOLLOWLOCATION1);
    
curl_setopt($curlCURLOPT_POSTFIELDS"sel%5B%5D=1667952&sel%5B%5D=1667954&sel%5B%5D=1667951&sel%5B%5D=1667940&sel%5B%5D=1760740&sel%5B%5D=12254&sel%5B%5D=655321&sel%5B%5D=15530&sel%5B%5D=1760519&sel%5B%5D=22553&sel%5B%5D=1760518&sel%5B%5D=1145935&sel%5B%5D=1750428&sel%5B%5D=1667953&sel%5B%5D=1667956&sel%5B%5D=1667928&sel%5B%5D=1667939&sel%5B%5D=15451&sel%5B%5D=1760516&sel%5B%5D=77161&sel%5B%5D=70126&sel%5B%5D=75530&sel%5B%5D=149678&sel%5B%5D=1760502&sel%5B%5D=1146120&sel%5B%5D=900851&sel%5B%5D=148039&sel%5B%5D=615496&sel%5B%5D=6630&sel%5B%5D=6655&sel%5B%5D=1747593&sel%5B%5D=1755557&sel%5B%5D=1746115&sel%5B%5D=706038&sel%5B%5D=1760972&sel%5B%5D=1744932&sel%5B%5D=637944&sel%5B%5D=1748060&time=0&line_nums=1&page=line&action=2");
    
$out curl_exec($curl);
    echo 
$out;
    
curl_close($curl);
  } 
но в итоге получаю начальную olimp.com/betting/tennis
JGalt вне форума Ответить с цитированием
Старый 09.11.2015, 12:18   #2
s88s
Форумчанин
 
Регистрация: 02.01.2014
Сообщений: 369
По умолчанию

Цитата:
Сообщение от JGalt Посмотреть сообщение
Всем привет! 3 день бьюсь и не могу понять, как вытащить код страницы с сайта http://olimp.com/betting/tennis
Конкретно нужна страница, которую сервер возвращает, если поставить все галочки.
Там происходит отправка пост запроса через форму. Пытаюсь так:

PHP код:
  if( $curl curl_init() ) {
    
$header[] = "Host: olimp.com";
    
$header[] = "User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0";
    
$header[] = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
    
$header[] = "Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3";
    
$header[] = "Accept-Encoding: gzip, deflate";
    
$header[] = "Referer: http://olimp.com/betting/tennis";
    
$header[] = "Cookie: curr_lang=0; betslip=0; _ym_uid=1446809744737424045; SSID=0x0ndu0859pqf5l2jchh1lchs1m5; PHPSESSID=b8d894115f54c94e8ef4ec14ad8da8e7";
    
$header[] = "Connection: keep-alive";
    
$header[] = "Content-Type: application/x-www-form-urlencoded";
    
$header[] = "X-Frame-Options:SAMEORIGIN";
    
$header[] = "X-Powered-By:PHP/5.5.30";
    
    
curl_setopt($curlCURLOPT_URL'http://olimp.com/betting/tennis');
    
curl_setopt($curlCURLOPT_RETURNTRANSFER,0);
    
curl_setopt($curlCURLOPT_POSTtrue);
    
curl_setopt($curlCURLOPT_HTTPHEADER$header); 
    
curl_setopt($curlCURLOPT_ENCODING'gzip, deflate');
    
curl_setopt($curlCURLOPT_HEADER1);
    
curl_setopt($curlCURLOPT_FOLLOWLOCATION1);
    
curl_setopt($curlCURLOPT_POSTFIELDS"sel%5B%5D=1667952&sel%5B%5D=1667954&sel%5B%5D=1667951&sel%5B%5D=1667940&sel%5B%5D=1760740&sel%5B%5D=12254&sel%5B%5D=655321&sel%5B%5D=15530&sel%5B%5D=1760519&sel%5B%5D=22553&sel%5B%5D=1760518&sel%5B%5D=1145935&sel%5B%5D=1750428&sel%5B%5D=1667953&sel%5B%5D=1667956&sel%5B%5D=1667928&sel%5B%5D=1667939&sel%5B%5D=15451&sel%5B%5D=1760516&sel%5B%5D=77161&sel%5B%5D=70126&sel%5B%5D=75530&sel%5B%5D=149678&sel%5B%5D=1760502&sel%5B%5D=1146120&sel%5B%5D=900851&sel%5B%5D=148039&sel%5B%5D=615496&sel%5B%5D=6630&sel%5B%5D=6655&sel%5B%5D=1747593&sel%5B%5D=1755557&sel%5B%5D=1746115&sel%5B%5D=706038&sel%5B%5D=1760972&sel%5B%5D=1744932&sel%5B%5D=637944&sel%5B%5D=1748060&time=0&line_nums=1&page=line&action=2");
    
$out curl_exec($curl);
    echo 
$out;
    
curl_close($curl);
  } 
но в итоге получаю начальную olimp.com/betting/tennis
Если сайт написан на PHP и это не Ваш сайт и к нему нет доступа то это будет не реально сделать .
"Я не волшебник, я только учусь"
s88s вне форума Ответить с цитированием
Старый 09.11.2015, 15:43   #3
CodeNOT
Форумчанин
 
Аватар для CodeNOT
 
Регистрация: 08.11.2010
Сообщений: 593
По умолчанию

Цитата:
Сообщение от JGalt Посмотреть сообщение
Всем привет! 3 день бьюсь и не могу понять, как вытащить код страницы с сайта http://olimp.com/betting/tennis
Конкретно нужна страница, которую сервер возвращает, если поставить все галочки.
Там происходит отправка пост запроса через форму. Пытаюсь так:

PHP код:
  if( $curl curl_init() ) {
    
$header[] = "Host: olimp.com";
    
$header[] = "User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0";
    
$header[] = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
    
$header[] = "Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3";
    
$header[] = "Accept-Encoding: gzip, deflate";
    
$header[] = "Referer: http://olimp.com/betting/tennis";
    
$header[] = "Cookie: curr_lang=0; betslip=0; _ym_uid=1446809744737424045; SSID=0x0ndu0859pqf5l2jchh1lchs1m5; PHPSESSID=b8d894115f54c94e8ef4ec14ad8da8e7";
    
$header[] = "Connection: keep-alive";
    
$header[] = "Content-Type: application/x-www-form-urlencoded";
    
$header[] = "X-Frame-Options:SAMEORIGIN";
    
$header[] = "X-Powered-By:PHP/5.5.30";
    
    
curl_setopt($curlCURLOPT_URL'http://olimp.com/betting/tennis');
    
curl_setopt($curlCURLOPT_RETURNTRANSFER,0);
    
curl_setopt($curlCURLOPT_POSTtrue);
    
curl_setopt($curlCURLOPT_HTTPHEADER$header); 
    
curl_setopt($curlCURLOPT_ENCODING'gzip, deflate');
    
curl_setopt($curlCURLOPT_HEADER1);
    
curl_setopt($curlCURLOPT_FOLLOWLOCATION1);
    
curl_setopt($curlCURLOPT_POSTFIELDS"sel%5B%5D=1667952&sel%5B%5D=1667954&sel%5B%5D=1667951&sel%5B%5D=1667940&sel%5B%5D=1760740&sel%5B%5D=12254&sel%5B%5D=655321&sel%5B%5D=15530&sel%5B%5D=1760519&sel%5B%5D=22553&sel%5B%5D=1760518&sel%5B%5D=1145935&sel%5B%5D=1750428&sel%5B%5D=1667953&sel%5B%5D=1667956&sel%5B%5D=1667928&sel%5B%5D=1667939&sel%5B%5D=15451&sel%5B%5D=1760516&sel%5B%5D=77161&sel%5B%5D=70126&sel%5B%5D=75530&sel%5B%5D=149678&sel%5B%5D=1760502&sel%5B%5D=1146120&sel%5B%5D=900851&sel%5B%5D=148039&sel%5B%5D=615496&sel%5B%5D=6630&sel%5B%5D=6655&sel%5B%5D=1747593&sel%5B%5D=1755557&sel%5B%5D=1746115&sel%5B%5D=706038&sel%5B%5D=1760972&sel%5B%5D=1744932&sel%5B%5D=637944&sel%5B%5D=1748060&time=0&line_nums=1&page=line&action=2");
    
$out curl_exec($curl);
    echo 
$out;
    
curl_close($curl);
  } 
но в итоге получаю начальную olimp.com/betting/tennis

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


Код:
  if( $curl = curl_init() ) { 
    $header[] = "Host: olimp.com"; 
    $header[] = "User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0"; 
    $header[] = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"; 
    $header[] = "Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3"; 
    $header[] = "Accept-Encoding: gzip, deflate"; 
    $header[] = "Referer: http://olimp.com/betting/tennis"; 
    $header[] = "Cookie: curr_lang=0; betslip=0; _ym_uid=1446809744737424045; SSID=0x0ndu0859pqf5l2jchh1lchs1m5; PHPSESSID=b8d894115f54c94e8ef4ec14ad8da8e7"; 
    $header[] = "Connection: keep-alive"; 
    $header[] = "Content-Type: application/x-www-form-urlencoded"; 
    $header[] = "X-Frame-Options:SAMEORIGIN"; 
    $header[] = "X-Powered-By:PHP/5.5.30"; 
     
    curl_setopt($curl, CURLOPT_URL, 'http://olimp.com/betting/index.php'); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER,1); 
    curl_setopt($curl, CURLOPT_POST, true); 
    curl_setopt($curl, CURLOPT_HTTPHEADER, $header);  
    curl_setopt($curl, CURLOPT_ENCODING, 'gzip, deflate'); 
    curl_setopt($curl, CURLOPT_HEADER, 1); 
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); 
    curl_setopt($curl, CURLOPT_POSTFIELDS, "sel[]=1761871&sel[]=1667952&sel[]=1667954&time=0&line_nums=1&page=line&action=2"); 
    $out = curl_exec($curl); 
    echo $out; 
    curl_close($curl); 
  }

Последний раз редактировалось CodeNOT; 09.11.2015 в 15:44. Причина: сцук, двоеточие не убрал(
CodeNOT вне форума Ответить с цитированием
Старый 11.12.2015, 16:30   #4
MaxQNEI
Новичок
Джуниор
 
Регистрация: 11.12.2015
Сообщений: 1
По умолчанию

А почему бы не использовать file_get_contents() ?
MaxQNEI вне форума Ответить с цитированием
Старый 13.12.2015, 04:38   #5
CodeNOT
Форумчанин
 
Аватар для CodeNOT
 
Регистрация: 08.11.2010
Сообщений: 593
По умолчанию

Цитата:
Сообщение от MaxQNEI Посмотреть сообщение
А почему бы не использовать file_get_contents() ?
это изврат и боль, боль и унижение я даже не знаю как это еще более красочно и понятно описать
CodeNOT вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести HTML код страницы (включая код фрэйм страницы) Lorden PHP 0 04.09.2014 18:21
Нужно получить код страницы ВК JGalt Работа с сетью в Delphi 1 24.03.2014 19:55
вытащить текст с веб страницы patch JavaScript, Ajax 4 01.10.2012 12:19
Как вытащить видео со страницы? Anny3 Помощь студентам 7 29.08.2011 10:42
Нужно получить html код страницы NEOkill Работа с сетью в Delphi 2 01.03.2007 16:49