Spell » 2011.03.24 17:02

Если такая тема есть,тогда извиняюсь и модеров прошу удалить тему.
Добавлено спустя   3 минуты  54 секунды:
Кто может помочь с граббером. Я граблю сайт muzmo.ru,и столкнулся с такой проблемой,там даные передаються в сессию,и я незнаю какой код прописать,чтобы заработала нарезка и конвертация.
Добавлено спустя   6 минут  50 секунд:
Вот сам исходный код отдельного мр3 файла, нарезки и конвертации

Код:

1
2
3
4
<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&amp;sid=pjq9jkoft3malc8uf9va1cu202&amp;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>

как быть?

Gemorroj » 2011.03.24 17:16

прикрепи к посту свой граббер

Spell » 2011.03.24 17:34

Вот

Код:

1
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");?>
Spell » 2011.03.24 22:03

Поможет кто?

tipsun » 2011.03.24 23:20

Больше ничего умного не приходит

Код:

1
<form action="http://muzmo.ru/generate_new.php?3868517" method="post">
Spell » 2011.03.25 00:42

tipsun написал:

Больше ничего умного не приходит

Код:

1
<form action="http://muzmo.ru/generate_new.php?3868517" method="post">

Не подходит,запрошенная вами страница отсутствует,а если создать generate_new.php и прописать адресс внутри файла,тогда шапка и ноги. Как заставить отдавать файлы?

tipsun » 2011.03.25 00:58

Форма после этого выкидывает на адрес: 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

Spell » 2011.03.25 06:29

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

И как это сделать? В голову не фига не лезет,знал бы как туды этот код втулить.

Spell » 2011.03.25 07:12

Вот что мне еще посоветовали,мож кто разбереться:"Spell, почитай про то как послать пост запрос удалённо,тут поищи" http://snippets.pp.ru

Gemorroj » 2011.03.25 08:39

Spell, у тебя там и так POST должен посылаться. Просто код настолько ужасный, что его копать ну совсем не хочется.

DarkDaNTe » 2011.03.25 13:37

Gemorroj, +1)

Spell » 2011.03.25 13:45

Gemorroj написал:

Spell, у тебя там и так POST должен посылаться. Просто код настолько ужасный, что его копать ну совсем не хочется.

так что забросить? А курлом вытянуть можна будет?

Gemorroj » 2011.03.25 13:56

можно

Spell » 2011.03.25 15:07

Gemorroj написал:

можно

напимер,что из этого можна извлеч?

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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;

Как дальше?

tipsun » 2011.03.25 15:09

У меня чет не получилось...
Только при отправки данных на родную форму, получилось
Или если в generate_new.php поставить ... RETURNTRANSFER, 0 ...
Тут может Геморрой вмешается, код вроде не уродлив.

Код:

1
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&amp;', $html);$debug = array('?open=generate_new.php&amp;'=>'generate_new.php?id=','?open=pic.php&amp;'=>'http://muzmo.ru/pic.php?');echo strtr($html, $debug);///////////////////////////////////////////////?>

Код:

1
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();///////////////////////////////////////////////?>
Spell » 2011.03.25 16:54

Мне бы generate_new.php отредачить,а то бросает на главную,когда пытаюсь резать,либо конвертировать. Можешь сам посмотреть. Вот ссылка

tipsun » 2011.03.25 17:01

Не ставь код, он не обрабатывает входящие данные.
Это я для примера написал.

Код:

1
2
3
header('Location: /?open=info.php&'.$get);
//на это переправь
header('Location: /mp3/info.php?'.$get);
Spell » 2011.03.25 17:33

Ок, я ток generate_new.php поставил,а как еще можна достать?

Spell » 2011.03.25 23:07

tipsun вот что мне еще сказали к generate_new.php " У тебя редирект не правильно стоит.Тебя перенаправляет на ?info.php,а нужно на info.php а для сохранения сессии, что бы работала проверка коданужно записывать куки curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");"

tipsun » 2011.03.25 23:32

Насчет куки уже понял. Там заметил, что ид сессии меняется всё время в принятых заголовках и в форме дополнительно вылазит:

Код:

1
<input type="hidden" name="sid" value="ИД СЕССИИ" />

Этого нет, когда через браузер на самом сайте бродишь.

Не знал, что в файл надо записывать. Завтра попробую доделать.
Редирект переделал. Путь берется из заголовков:

Код:

1
Location: адрес?со=всеми&штучками
Mr.proper » 2011.03.25 23:33

Что есть грабер?

tipsun » 2011.03.25 23:43

Ну как бы с чужого сайта информацию, файлы выдаешь за своё, не перекачивая при этом ничего себе. Как то так.

Mr.proper » 2011.03.25 23:50

ясно. а зачем тогда так многа писать (про коды на предыдущих страниц) если можно в гиперссылку вписать прямую на файл?

Spell » 2011.03.26 00:03

tipsun написал:

Насчет куки уже понял. Там заметил, что ид сессии меняется всё время в принятых заголовках и в форме дополнительно вылазит:

Код:

1
<input type="hidden" name="sid" value="ИД СЕССИИ" />

Этого нет, когда через браузер на самом сайте бродишь.
Не знал, что в файл надо записывать. Завтра попробую доделать.
Редирект переделал. Путь берется из заголовков:

Код:

1
Location: адрес?со=всеми&штучками

так ты напиши,этот редирект,а то снова не так что-то сделаю.
Добавлено спустя   5 минут  52 секунды:
Так header('Location: http://site.ru/info.php&'.$get);

tipsun » 2011.03.26 00:13

Нет. Завтра выложу. Уже выкл комп. Домашние спят. Я сделал через

Код:

1
span style="color: #0000BB"><?phppreg_match_all('/Location: info.php?([a-z0-9\=\&]{0,})/i', $headers, $redirect);//не помню я перед ? Ставил \ или нет...//как-то так. Завтра более точный выложу, этот я с телефона написал, приблизительно.?>

В файле generate_new.php я только заголовки принимать оставал. Всё равно оттуда больше ниче не приходит и опция перенаправления чет не работает.

Spell » 2011.03.26 06:42

tipsun ты сам generate_new.php переделаный с редиректом выложи,я покажу код Сереге (Krite) он может еще подскажет че то.

tipsun » 2011.03.26 11:38

Все равно captcha не принимается кажется.
Ну все время неправильно.
Но теперь нет того, что я описывал в сообщ. #20 этой темы

Код:

1
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
--------------------

Spell » 2011.03.26 11:45

tipsun вот посмотри код который в личку тебе дал,как работает.

Spell » 2011.03.26 12:26

а куда куку.тхт ставить? Я в ту же папку бросил,и права 777 поставил. Вот твой код посмотри  как работает в generate_new.php

tipsun » 2011.03.26 13:15

Вот я у себя разместил: ссылку удалил
Но captha все равно не жрет :(

Spell » 2011.03.26 14:13

Это твой код,или тот что в личку тебе дал?

tipsun » 2011.03.26 14:15

Мой. Да там все похоже в принципе.
Я поставил, как ты советовал CURLOPT_COOKIEFILE. CURLOPT_COOKIEJAR
Все равно каптчу не жрет

Spell » 2011.03.26 14:18

А index.php твой стоит?

tipsun » 2011.03.26 14:19

Да

tipsun » 2011.03.26 14:23

Да, крутой код! :)

Spell » 2011.03.26 14:29

Что за фигня такая. Пробуй к себе поставь будет ли работать? А то у меня белый экран когда режу файл.

tipsun » 2011.03.26 14:31

Тоже самое у меня.
Кто тебе написал твой index.php пусть напишет и generate_new.php. Он явно знает что делает.
Я не знаю в чем дело. :(

Spell » 2011.03.26 14:37

tipsun написал:

Тоже самое у меня.
Кто тебе написал твой index.php пусть напишет и generate_new.php. Он явно знает что делает.
Я не знаю в чем дело. :(

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

tipsun » 2011.03.26 14:39

Спс.
Да не за что.
Опыта надо набираться, поэтому самому интересно. :)
вот mod_rewrite сильная вещь.

Spell » 2011.03.26 14:43

tipsun написал:

Спс.
Да не за что.
Опыта надо набираться, поэтому самому интересно. :)
вот mod_rewrite сильная вещь.

Krite кодер сам вот его сайт.

Spell » 2011.03.26 15:27

tipsun, пробуй удали с хоста generate_new.php и пробуй код что я тебе дал с мод_реврайтом. Krite сказал,что именно он и недает работать реврайту.

tipsun » 2011.03.26 21:02

Нет, все равно не работает :(

Spell » 2011.03.27 00:17

tipsun написал:

Нет, все равно не работает :(

во зараза,что ему еще надо, и Серега молчит.