Вы не зашли.
#1.
Spell
Off
(0)
Участник
2011.03.24 17:05
Если такая тема есть,тогда извиняюсь и модеров прошу удалить тему.
Добавлено спустя 3 минуты 54 секунды: Кто может помочь с граббером. Я граблю сайт muzmo.ru,и столкнулся с такой проблемой,там даные передаються в сессию,и я незнаю какой код прописать,чтобы заработала нарезка и конвертация.
Добавлено спустя 6 минут 50 секунд: Вот сам исходный код отдельного мр3 файла, нарезки и конвертации
Код:
<div class="sub">Конвертация/резка композиции</div><div class="main"><form action="generate_new.php?84687462" method="post"><fieldset><input type="hidden" name="sid" value="pjq9jkoft3malc8uf9va1cu202" /> |
Проверочный код:<br /> |
<input name="code" type="text" class="num" value="" size="7"/><br /> |
<img src="pic.php?7957&sid=pjq9jkoft3malc8uf9va1cu202&sid=pjq9jkoft3malc8uf9va1cu202" alt="code"/><hr />Формат файла:<br /><select name="format"><option value="0">MP3</option><option value="1">AMR</option><option value="2">WAV</option><option value="3">AAC</option><option value="5">WMA</option></select><hr />Битрейт файла (для mp3, aac, wma):<br /><select name="bitrate"><option value="4">128 Кбит/сек ~ 3,71 Мб</option><option value="5">96 Кбит/сек ~ 2,78 Мб</option><option value="6">64 Кбит/сек ~ 1,85 Мб</option><option value="7">48 Кбит/сек ~ 1,39 Мб</option><option value="8">32 Кбит/сек ~ 949,22 Кб</option></select><hr />Интервал по времени:<br />от <input class="num" type="text" name="from_time" value="0" size="5" /> сек.<br />до <input class="nume" type="text" name="to_time" value="243" size="5" /> сек.<hr /><br /><input class="ibutton" type="submit" value="Сгенерировать"/></fieldset></form></div> |
как быть?
Отредактировано Spell (2011.03.24 17:05)
прикрепи к посту свой граббер
#3.
Spell
Off
(0)
Участник
2011.03.24 17:05
Вот
Код:
lt;?define('_IN_JOHNCMS', 1);$headmod ="";$textl = 'Вся музыка мира!';require_once ("../incfiles/core.php");require_once ("../incfiles/head.php");header("Content-type:text/html; charset=utf-8");ini_set('display_errors',0); ini_set ('register_globals', 0);session_name('SID'); session_start();############################################################################################$host= "muzmo.ru"; $path="/info.php?".$_SERVER ['QUERY_STRING'];$fp=fsockopen($host,80,$errno, $errstr,10);if(!$fp) { echo "$errstr ($errno)<br/>\n"; }else{$data = "";$post=0; foreach($_POST as $key=>$value){$post=1; $data.="&$key=$value";} if($data)$data=substr ($data,1);if($post) $headers = "POST $path HTTP/1.0\r\n";else$headers = "GET $path HTTP/1.0\r\n"; $headers.= "Host: $host\r\n";$headers.= "Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif,image/x-bitmap, */*;q=0.1\r\n";$headers.= "Accept-Charset: utf-8;q=0.6 windows-1251;q=0.1*;q=0.1\r\n";$headers.= "Accept-Encoding: utf-8\r\n";$headers.= "Accept-Language: ru, en;q=0.9\r\n";$headers.= "User-Agent: ".$_SERVER ['HTTP_USER_AGENT']."\r\n";if($post){ $headers.= "Content-type: application/x-www-form-urlencoded\r\n";$headers.= "Content-Length: ".strlen ($data)."\r\n";$headers.= "\r\n"; $headers.= $data;}else $headers.="\r\n";@fwrite($fp, $headers); while($file != "\r\n") $file = @fgets($fp, 128);$file = ''; while(!feof($fp)) $file.= @fgets($fp, 4096); @fclose($fp);}##############################################$file=str_replace('<?xml version="1.0" encoding="utf-8"?>', '',$file);$file=preg_replace('|<!DOCTYPE(.*?)<body>|is', '',$file);$file=preg_replace('|<div class="head">(.*?)</div>|is', '',$file);$file=str_replace('<img src="img/','<img src="http://muzmo.ru/img/',$file);$file=str_replace('На главную</a>', '',$file);$file=preg_replace('|<div style="text-align: center">(.*?)</a>|is', '',$file);$file=preg_replace('|style="font-weight:(.*?)</html>|is', '',$file);$file=preg_replace('|http://wap.sasisa.ru/(.*?)</a>|is', '',$file);$file=str_replace('<img src="pic.php?','<img src="http://muzmo.ru/pic.php?',$file);$file=str_replace('Рекомендуем', '',$file);##############################################echo $file;require_once ("../incfiles/end.php");?> |
#4.
Spell
Off
(0)
Участник
2011.03.24 22:10
Поможет кто?
#5.
tipsun
Off
(19)
Moderator
2011.03.24 23:11
Больше ничего умного не приходит
Код:
<form action="http://muzmo.ru/generate_new.php?3868517" method="post"> |
Отредактировано tipsun (2011.03.24 23:11)
#6.
Spell
Off
(0)
Участник
2011.03.25 00:12
tipsun написал:Больше ничего умного не приходит
Код:
<form action="http://muzmo.ru/generate_new.php?3868517" method="post"> |
Не подходит,запрошенная вами страница отсутствует,а если создать generate_new.php и прописать адресс внутри файла,тогда шапка и ноги. Как заставить отдавать файлы?
#7.
tipsun
Off
(19)
Moderator
2011.03.25 00:12
Форма после этого выкидывает на адрес: http://muzmo.ru/info.php?67928011&b=320&f=0&d=260&fmt=0
тебе надо как-то форму у тебя разместить, после нажатия всё необходимые данные с формы передать на generate_new.php?[ID] и переадресовать на http://свойсайт/info.php?[ID]&b=320&f=0&d=260&fmt=0
Отредактировано tipsun (2011.03.25 01:01)
#8.
Spell
Off
(0)
Участник
2011.03.25 06:06
tipsun написал:
Форма после этого выкидывает на адрес: http://muzmo.ru/info.php?67928011&b=320&f=0&d=260&fmt=0
тебе надо как-то форму у тебя разместить, после нажатия всё необходимые данные с формы передать на generate_new.php?[ID] и переадресовать на http://свойсайт/info.php?[ID]&b=320&f=0&d=260&fmt=0
И как это сделать? В голову не фига не лезет,знал бы как туды этот код втулить.
#9.
Spell
Off
(0)
Участник
2011.03.25 07:07
Вот что мне еще посоветовали,мож кто разбереться:"Spell, почитай про то как послать пост запрос удалённо,тут поищи" http://snippets.pp.ru
Spell, у тебя там и так POST должен посылаться. Просто код настолько ужасный, что его копать ну совсем не хочется.
Gemorroj написал:
Spell, у тебя там и так POST должен посылаться. Просто код настолько ужасный, что его копать ну совсем не хочется.
так что забросить? А курлом вытянуть можна будет?
Gemorroj написал:
можно
напимер,что из этого можна извлеч?
Код:
function curl_get($url){ |
$curl = curl_init(); // инициализируем cURL |
curl_setopt($curl, CURLOPT_URL, $url); // Начинаем работу |
curl_setopt($curl,CURLOPT_USERAGENT,'Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.2.15 Version/10.10'); //Говорим что мы с OPERA |
curl_setopt($curl, CURLOPT_RETURNTRANSFER,1); // Указываем что нам нужна именно переменная |
curl_setopt($curl, CURLOPT_TIMEOUT, 3); // устанавливаем таймаут в секундах |
$cnt = curl_exec($curl); // выполняем запрос и записываем в переменную |
curl_close($curl); // заканчиваем работу curl |
return $cnt; //Даем резулт))) |
} |
|
########################################## |
$file=curl_get('http://muzmo.ru/info.php?'.$_SERVER['QUERY_STRING']); |
$file=str_replace('<?xml version="1.0" encoding="utf-8"?>', '', $file); |
$file=preg_replace('|<!DOCTYPE(.*?)<body>|is', '',$file); |
echo $file; |
Как дальше?
У меня чет не получилось...
Только при отправки данных на родную форму, получилось
Или если в generate_new.php поставить ... RETURNTRANSFER, 0 ...
Тут может Геморрой вмешается, код вроде не уродлив.
Код:
span style="color: #0000BB"><?php/////////////////////////////////////////////////// SITE.RU/index.php/////////////////////////////////////////////////$site = 'muzmo.ru/'.$_GET['open'].'?'.str_replace('open='.$_GET['open'].'&', null, $_SERVER['QUERY_STRING']);echo $site;$browser = $_SERVER['HTTP_USER_AGENT'];$from = 'http://muzmo.ru';///////////////////////////////////////////////$net = curl_init('http://'.$site);///////////////////////////////////////////////curl_setopt($net, CURLOPT_HEADER, 1);curl_setopt($net, CURLOPT_USERAGENT, $browser);curl_setopt($net, CURLOPT_REFERER, $from);curl_setopt($net, CURLOPT_FOLLOWLOCATION, 1);curl_setopt($net, CURLOPT_RETURNTRANSFER, 1);///////////////////////////////////////////////$html = curl_exec($net);curl_close($net);///////////////////////////////////////////////$html = preg_replace('/([a-z0-9\-\_]{0,}.php)\?/i', '?open=$1&', $html);$debug = array('?open=generate_new.php&'=>'generate_new.php?id=','?open=pic.php&'=>'http://muzmo.ru/pic.php?');echo strtr($html, $debug);///////////////////////////////////////////////?> |
Код:
span style="color: #0000BB"><?php/////////////////////////////////////////////////// SITE.RU/generate_new.php/////////////////////////////////////////////////$id = $_GET['id'];$sid = $_POST['sid'];$code = $_POST['code'];$format = $_POST['format'];$bitrate = $_POST['bitrate'];$from_time = $_POST['from_time'];$to_time = $_POST['to_time'];$post = "sid=$sid&code=$code&format=$format&bitrate=$bitrate&from_time=$from_time&to_time=$to_time";$get = "$id&b=$bitrate&f=$from_time&d=$to_time&fmt=$format";$site = 'muzmo.ru/generate_new.php?'.$_SERVER['QUERY_STRING'];$browser = $_SERVER['HTTP_USER_AGENT'];$from = 'http://muzmo.ru';///////////////////////////////////////////////$net = curl_init('http://'.$site);///////////////////////////////////////////////curl_setopt($net, CURLOPT_HEADER, 1);curl_setopt($net, CURLOPT_POST, 1);curl_setopt($net, CURLOPT_POSTFIELDS, $post);curl_setopt($net, CURLOPT_USERAGENT, $browser);curl_setopt($net, CURLOPT_REFERER, $from);curl_setopt($net, CURLOPT_FOLLOWLOCATION, 1);curl_setopt($net, CURLOPT_RETURNTRANSFER, 1);/////////////////////////////////////////////////$html = curl_exec($net);curl_close($net);/////////////////////////////////////////////////echo $html;header('Location: /?open=info.php&'.$get);exit();///////////////////////////////////////////////?> |
Отредактировано tipsun (2011.03.25 16:04)
Мне бы generate_new.php отредачить,а то бросает на главную,когда пытаюсь резать,либо конвертировать. Можешь сам посмотреть.
Вот ссылка
Не ставь код, он не обрабатывает входящие данные.
Это я для примера написал.
Код:
header('Location: /?open=info.php&'.$get); |
//на это переправь |
header('Location: /mp3/info.php?'.$get); |
Отредактировано tipsun (2011.03.25 17:05)
Ок, я ток generate_new.php поставил,а как еще можна достать?
tipsun вот что мне еще сказали к generate_new.php " У тебя редирект не правильно стоит.Тебя перенаправляет на ?info.php,а нужно на info.php а для сохранения сессии, что бы работала проверка коданужно записывать куки curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");"
Насчет куки уже понял. Там заметил, что ид сессии меняется всё время в принятых заголовках и в форме дополнительно вылазит:
Код:
<input type="hidden" name="sid" value="ИД СЕССИИ" /> |
Этого нет, когда через браузер на самом сайте бродишь.
Не знал, что в файл надо записывать. Завтра попробую доделать.
Редирект переделал. Путь берется из заголовков:
Код:
Location: адрес?со=всеми&штучками |
Отредактировано tipsun (2011.03.25 23:11)
Что есть грабер?
Во имя овса, и сена, и свинного уха! Алюминь!
Ну как бы с чужого сайта информацию, файлы выдаешь за своё, не перекачивая при этом ничего себе. Как то так.
ясно. а зачем тогда так многа писать (про коды на предыдущих страниц) если можно в гиперссылку вписать прямую на файл?
Во имя овса, и сена, и свинного уха! Алюминь!
tipsun написал:Насчет куки уже понял. Там заметил, что ид сессии меняется всё время в принятых заголовках и в форме дополнительно вылазит:
Код:
<input type="hidden" name="sid" value="ИД СЕССИИ" /> |
Этого нет, когда через браузер на самом сайте бродишь.
Не знал, что в файл надо записывать. Завтра попробую доделать.
Редирект переделал. Путь берется из заголовков:
Код:
Location: адрес?со=всеми&штучками |
так ты напиши,этот редирект,а то снова не так что-то сделаю.
Добавлено спустя 5 минут 52 секунды: Так header('Location: http://site.ru/info.php&'.$get);
Нет. Завтра выложу. Уже выкл комп. Домашние спят. Я сделал через
Код:
span style="color: #0000BB"><?phppreg_match_all('/Location: info.php?([a-z0-9\=\&]{0,})/i', $headers, $redirect);//не помню я перед ? Ставил \ или нет...//как-то так. Завтра более точный выложу, этот я с телефона написал, приблизительно.?> |
В файле generate_new.php я только заголовки принимать оставал. Всё равно оттуда больше ниче не приходит и опция перенаправления чет не работает.
Отредактировано tipsun (2011.03.26 00:12)
tipsun ты сам generate_new.php переделаный с редиректом выложи,я покажу код Сереге (Krite) он может еще подскажет че то.
Все равно captcha не принимается кажется.
Ну все время неправильно.
Но теперь нет того, что я описывал в сообщ. #20 этой темы
Код:
span style="color: #0000BB"><?php///////////////////////////////////////////////// SITE.RU/generate_new.php///////////////////////////////////////////////$id = (int)$_GET['id'];$post = array('code' => (int)$_POST['code'],'format' => (int)$_POST['format'],'bitrate' => (int)$_POST['bitrate'],'from_time' => (int)$_POST['from_time'],'to_time' => (int)$_POST['to_time']);//$get = "$id&b=$bitrate&f=$from_time&d=$to_time&fmt=$format";///////////////////////////////////////////////$site = 'muzmo.ru/generate_new.php?'.$id;$net = curl_init('http://'.$site);///////////////////////////////////////////////curl_setopt($net, CURLOPT_HEADER, 1);curl_setopt($net, CURLOPT_NOBODY, 1);curl_setopt($net, CURLOPT_RETURNTRANSFER, 1);curl_setopt($net, CURLOPT_POST, 1);curl_setopt($net, CURLOPT_POSTFIELDS, $post);curl_setopt($net, CURLOPT_USERAGENT, $browser);curl_setopt($net, CURLOPT_REFERER, $referer);curl_setopt($net, CURLOPT_COOKIEFILE, 'cookie.txt'); //надо создать самому и поставить 777curl_setopt($net, CURLOPT_COOKIEJAR, 'cookie.txt'); //и путь правильно записать///////////////////////////////////////////////$html = curl_exec($net);curl_close($net);///////////////////////////////////////////////preg_match_all('/Location: info.php\?([a-z0-9\=\&]{0,})/i', $html, $location);//print_r($location);//header('Location: /?open=info.php&'.$location[1][0]);header('Location: /mp3/info.php?'.$location[1][0]);exit();///////////////////////////////////////////////?> |
---- cookie.txt ----
# Netscape HTTP Cookie File
# http://curl.haxx.se/rfc/cookie_spec.html
# This file was generated by libcurl! Edit at your own risk.
muzmo.ru FALSE / FALSE 0 sid c4110jfmjp0ecum02fvtl1kkm7
--------------------
Отредактировано tipsun (2011.03.26 12:12)
tipsun вот
посмотри код который в личку тебе дал,как работает.
а куда куку.тхт ставить? Я в ту же папку бросил,и права 777 поставил. Вот твой код
посмотри как работает в generate_new.php
Вот я у себя разместил:
ссылку удалилНо captha все равно не жрет
Отредактировано tipsun (2011.03.26 14:02)
Это твой код,или тот что в личку тебе дал?
Мой. Да там все похоже в принципе.
Я поставил, как ты советовал CURLOPT_COOKIEFILE. CURLOPT_COOKIEJAR
Все равно каптчу не жрет
Отредактировано tipsun (2011.03.26 14:02)
Да, крутой код!
Отредактировано tipsun (2011.03.26 14:02)
Что за фигня такая. Пробуй к себе поставь будет ли работать? А то у меня белый экран когда режу файл.
Отредактировано Spell (2011.03.26 14:02)
Тоже самое у меня.
Кто тебе написал твой index.php пусть напишет и generate_new.php. Он явно знает что делает.
Я не знаю в чем дело.
Отредактировано tipsun (2011.03.26 14:02)
tipsun написал:Тоже самое у меня.
Кто тебе написал твой index.php пусть напишет и generate_new.php. Он явно знает что делает.
Я не знаю в чем дело.
Это Krite,я ему написал,о ошибке незнаю когда ответит,но буду держать тебя вкурсе. Спасибо тебе большое за потраченое время.
Спс.
Да не за что.
Опыта надо набираться, поэтому самому интересно.
вот mod_rewrite сильная вещь.
Отредактировано tipsun (2011.03.26 14:02)
tipsun написал:Спс.
Да не за что.
Опыта надо набираться, поэтому самому интересно.
вот mod_rewrite сильная вещь.
Krite кодер сам
вот его сайт.
tipsun, пробуй удали с хоста generate_new.php и пробуй код что я тебе дал с мод_реврайтом. Krite сказал,что именно он и недает работать реврайту.
Нет, все равно не работает
tipsun написал:Нет, все равно не работает
во зараза,что ему еще надо, и Серега молчит.