Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Имитировать нажатие checkbox (через post)

Сообщения:  [1-8] 

 
 автор: Diplex   (15.06.2009 в 16:47)   письмо автору
 
   для: mikha   (15.06.2009 в 14:11)
 

Вот здорово, ведь я всё тоже самое отсылал в разных интерпритациях, но не получалось)) Спасибо огромное!!!

p.s. Этот пример подошел мне и для другого сайта, который мне тоже не поддавался :)

  Ответить  
 
 автор: mikha   (15.06.2009 в 14:11)   письмо автору
 
   для: Diplex   (15.06.2009 в 12:51)
 

<?php
$post 
= array(
  
"dt" => "2009-06-15"// Понятно. На какую дату.
  //"last7" => "on", // если на неделю. Если не надо, то без этой строчки
  
"ch_1TV" => "on"// первый канал. Если не надо, то без этой строчки
  
"ch_RTR" => "on"// второй канал. Если не надо, то без этой строчки
  // другие каналы как выше
);
$_post = array();
if(
is_array($post)) foreach($post as $name => $value$_post[] = $name.'='.urlencode($value);
$post implode('&'$_post);
$fp fsockopen("s-tv.ru"80);
if(
$fp){
  
fputs($fp"POST /?chp=tv HTTP/1.1\r\nHost: s-tv.ru \r\n".
  
"Content-Type: application/x-www-form-urlencoded\r\n".
  
"Content-Length: ".strlen($post)."\r\n".
  
"Connection: close\r\n\r\n$post");
  
$content '';
  while(!
feof($fp)) $content .= fgets($fp);
  
fclose($fp);
  echo 
"<pre>";
  
print_r($content);
  echo 
"</pre>";
}
?>

Разбирайтесь.
UP. А вообще вот _http://us2.php.net/manual/ru/function.fsockopen.php

  Ответить  
 
 автор: Diplex   (15.06.2009 в 13:40)   письмо автору
 
   для: Trianon   (15.06.2009 в 13:04)
 

Я вот перечитал Ваш пост несколько раз, но так и не понял - наезд это, и скрытое замечание, что я тупой и т.д. Или вообще что происходит?

p.s. Раньше Вы не позволяли себе таких вольностей, а действительно помогали. Что с Вами случилось... жаль

  Ответить  
 
 автор: Trianon   (15.06.2009 в 13:04)   письмо автору
 
   для: Diplex   (15.06.2009 в 12:51)
 

Мне вот интересно, там и вправду сайт так ортопедически устроен, что одни и те же данные должны передаваться как в теле POST-запроса, так и через URL того же запроса?

Судя по ответу mikha - это Ваше личное осложнение.

  Ответить  
 
 автор: Diplex   (15.06.2009 в 12:51)   письмо автору
 
   для: mikha   (15.06.2009 в 09:05)
 

Спасибо большое! Но хотел добиться результата без cURL! А вот если это невозможно, то узнать причину! Тут просто спортивный интерес...

  Ответить  
 
 автор: mikha   (15.06.2009 в 09:05)   письмо автору
 
   для: Diplex   (14.06.2009 в 21:11)
 

<?php
$data 
= array(
  
"dt" => "2009-06-15"// Понятно. На какую дату.
  //"last7" => "on", // если на неделю. Если не надо, то без этой строчки
  
"ch_1TV" => "on"// первый канал. Если не надо, то без этой строчки
  
"ch_RTR" => "on"// второй канал. Если не надо, то без этой строчки
  // другие каналы как выше
);
$url "http://s-tv.ru/?chp=tv";
$time_out 5// секунд на на работу CURL
if(function_exists('curl_init')){
  
$ch curl_init($url);
  
curl_setopt($chCURLOPT_RETURNTRANSFER1); // возвращать результат, а не выводить
  
if($time_outcurl_setopt($chCURLOPT_TIMEOUT$time_out);
  
// Работает и без USERAGENT и без REFERER
  //curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MyIE2; WebMoney Advisor; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) )");
  //curl_setopt($ch, CURLOPT_REFERER, $url);
  
curl_setopt($chCURLOPT_POST1);
  
curl_setopt($chCURLOPT_POSTFIELDS$data);
  
$result curl_exec($ch);
  
curl_close($ch);
  echo 
"<pre>";
  
print_r($result);
  echo 
"</pre>";
}else{
  echo 
"no CURL";
}
?>

На cURL. Обработку ошибок уж сами.

  Ответить  
 
 автор: Diplex   (15.06.2009 в 07:17)   письмо автору
 
   для: Diplex   (14.06.2009 в 21:11)
 

UP please!

  Ответить  
 
 автор: Diplex   (14.06.2009 в 21:11)   письмо автору
 
 

Всем привет!

Вообщем, сломал всю голову, не пойму в чём дело.
Есть сайт s-tv.ru, там хранятся телепрограммы. Хочу взять их, а не получается :)
И вот сижу и думаю, или я совсем глупый, или у них что-то умное в защите.

По этой ссылке - http://s-tv.ru/?chp=tv , список каналов, которые надо отметить галочкой.
У этих чекбоксов - нету параметра value, как я вроде понял, в таком случае значение меняется на "on". Что я только не делал, но никак не получается добиться результата!

Вот что выдаёт плагин Firebug:
Response Headers
Date Sun, 14 Jun 2009 16:59:01 GMT
Server    Apache/2.2.6 (Fedora)
X-Powered-By     PHP/5.2.4
Connection close
Transfer-Encoding chunked
Content-Type text/html; charset=CP-1251

Request Headers
Host www.s-tv.ru
User-Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6
Accept    text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language ru,en-us;q=0.7,en;q=0.3
Accept-Encoding gzip,deflate
Accept-Charset windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive 300
Connection keep-alive
Referer http://www.s-tv.ru/index.php?chp=tv


Вот код, который претерпел тысячу изменений, но толку ноль:
<?
// Указываем все переменные
$body "chp=tv&ch_1TV=on&dt=2009-06-08";
// Формируем Content-Length
$body2 $body.'\r\n\r\n'$length strlen($body2);

// On. 
$fp2=fsockopen("s-tv.ru",80,$errno,$errstr,10);
$out2 "POST /index.php?".$body." HTTP/1.0\r\n";
$out2 .= "Host: www.s-tv.ru\r\n";
$out2 .= "Referer: http://www.s-tv.ru/index.php?chp=tv\r\n";
$out2 .= "Connection: Close\r\n\r\n";

fwrite($fp2,$out2.$body2);
$ans2=''; while(!feof($fp2)) { $ans2.=fgets($fp2,1024); }
fclose($fp2);
// Off. 
echo $ans2;
?>


Никаких js, которые могли бы что-то поменять - не нашёл. Вообще, всё чисто и не понятно.

Помогите разобраться :)

p.s. Помню, примерно год назад пробовал с этого сайта взять инфу, но так и не получилось, в этот раз хотелось бы добиться положительных результатов!

  Ответить  

Сообщения:  [1-8] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования