ANTICHAT Forum
HOME FORUMS MEMBERS RECENT POSTS LOG IN  
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Zaycev.net - прямая ссылка =(
  #1  
Старый 03.05.2009, 21:04
FreShBY
Новичок
Регистрация: 03.05.2009
Сообщений: 14
С нами: 8959612

Репутация: 10
По умолчанию Zaycev.net - прямая ссылка =(

Добрый день.

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

Всё работает. Ссылку даёт, но при скачке выдаёт 403 Forbidden.

Вот код:
PHP код:
<?php
echo <<<HTML
<form action="" method="post">
<input type="text" name="query"><input type="submit" name="submit" name="Поиск!">
</form>
HTML;

if(isset(
$_POST['query']))
{
        
$_POST['query'] = str_replace(" ", "+", $_POST['query']);

        
$url = "http://zaycev.net/search.html?query_search=".$_POST['query']."&sub=%CD%E0%E9%F2%E8%21";
        
$ch = curl_init($url);
        
curl_setopt($ch, CURLOPT_URL, $url);
        
curl_setopt($ch, CURLOPT_VERBOSE, 2);
        
curl_setopt($ch, CURLOPT_ENCODING, 0);
        
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0');
        
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
        
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
        
curl_setopt($ch, CURLOPT_HEADER, 1);
        
curl_setopt($ch, CURLINFO_HEADER_OUT, 1);
        
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
        
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
        
$html = curl_exec($ch);
        
curl_close($ch);

        
preg_match_all("/<a href='http:\/\/www.zaycev.net\/pages\/(.*?)'>(.*?)<\/a>/i", $html, $out);

        for(
$i=0; $i<count($out[1]); $i++)
        {
            echo 
'<a href="'.$PHP_SELF.'?mp3_url=http://www.zaycev.net/pages/'.$out[1][$i].'">'.$out[2][$i].'</a><br>';
        }
}

if(isset(
$_GET['mp3_url']) OR isset($_GET['text_check']))
{
    if(!isset(
$_GET['text_check']))
    {
        
$url = $_GET['mp3_url'];
        
$ch = curl_init($url);
        
curl_setopt($ch, CURLOPT_URL, $url);
        
curl_setopt($ch, CURLOPT_VERBOSE, 2);
        
curl_setopt($ch, CURLOPT_ENCODING, 0);
        
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0');
        
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
        
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
        
curl_setopt($ch, CURLOPT_HEADER, 1);
        
curl_setopt($ch, CURLINFO_HEADER_OUT, 1);
        
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
        
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
        
curl_setopt ($ch, CURLOPT_COOKIESESSION, true);
        
curl_setopt ($ch, CURLOPT_COOKIEJAR, 'cookies/zaycev.net.txt');
        
curl_setopt ($ch, CURLOPT_COOKIEFILE, 'cookies/zaycev.net.txt');
        
curl_setopt ($ch, CURLOPT_COOKIE, session_name() . '=' . session_id());
        
$html = curl_exec($ch);
        
curl_close($ch);

        
preg_match('/"http:\/\/www.zaycev.net\/download.php\?ass=(.*?)&id=(.*?)"/i', $html, $out);
        
$url = 'http://www.zaycev.net/download.php?ass='.$out[1].'&id='.$out[2];
        
$download_url = $url;
        
//$ass = $out[1];
        
$id = $out[2];

        
$ch = curl_init($url);
        
curl_setopt($ch, CURLOPT_URL, $url);
        
curl_setopt($ch, CURLOPT_VERBOSE, 2); // Отображать детальную информацию о соединении
        
curl_setopt($ch, CURLOPT_ENCODING, 0); // Шифрование можно включить, если нужно
        
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0');
        
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
        
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
        
curl_setopt($ch, CURLOPT_HEADER, 1);
        
curl_setopt($ch, CURLINFO_HEADER_OUT, 1);
        
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
        
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
        
curl_setopt($ch, CURLOPT_COOKIESESSION, true);
        
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookies/zaycev.net.txt'); // вроде куда сохранять
        
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies/zaycev.net.txt'); // вроде откуда брать
        
curl_setopt ($ch, CURLOPT_COOKIE, session_name() . '=' . session_id());
        
$html = curl_exec($ch);
        
curl_close($ch);

        
preg_match('/src="\/captcha.php\?id=(.*?)"/i', $html, $out);
        
$image = "http://zaycev.net/captcha.php?id=".$out[1];
        
$captcha_id = $out[1];

        
preg_match('/name="ass" value="(.*?)"/i', $html, $out2);
        
$ass = $out2[1];

            if(
$fsock = fsockopen("zaycev.net", 80, $errno, $errstr, 30))
            {
            @
fputs($fsock, "GET /captcha.php?id=".$out[1]." HTTP/1.1\r\n");
            @
fputs($fsock, "Host: zaycev.net\r\n");
            @
fputs($fsock, "Connection: close\r\n\r\n");
            while (!@
feof($fsock))
            {
                
$thread .= @fread($fsock, 128);
            }
            @
fclose($fsock);
        }

        
$html = explode("\r\n\r\n", $thread);
        
$f = fopen("captcha/zaycev/".$out[1]."_code.jpg", "w");
        
fputs($f, $html[1]);
        
fclose($f);
        
        echo 
"<img src=\"captcha/zaycev/{$out[1]}_code.jpg\" border=\"0\">";
        echo 
'<form action="" method="get"><input type="hidden" name="download_url" value="'.$download_url.'"><input type="text" name="text_check"><input type="hidden" name="ass" value="'.$ass.'"><input type="hidden" name="id" value="'.$id.'"><input type="hidden" name="captcha_id" value="'.$captcha_id.'"><input type="submit" name"submit" value="OK"></form>';
    } else {
        
$_GET['ass'] = str_replace(" ", "+", $_GET['ass']);
        
$url = "http://zaycev.net/download.php?id=".$_GET['id']."&ass=".$_GET['ass']."&text_check=".$_GET['text_check']."&captcha_id=".$_GET['captcha_id']."&ok=%D1%EA%E0%F7%E0%F2%FC";
        echo 
$url."<p>";
        
        
$ch = curl_init($url);
        
curl_setopt($ch, CURLOPT_URL, $url);
        
curl_setopt($ch, CURLOPT_VERBOSE, 2); // Отображать детальную информацию о соединении
        
curl_setopt($ch, CURLOPT_ENCODING, 0); // Шифрование можно включить, если нужно
        
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0');
        
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
        
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
        
curl_setopt($ch, CURLOPT_HEADER, 1);
        
curl_setopt($ch, CURLINFO_HEADER_OUT, 1);
        
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
        
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
        
curl_setopt($ch, CURLOPT_COOKIESESSION, true);
        
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookies/zaycev.net.txt'); // вроде куда сохранять
        
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies/zaycev.net.txt'); // вроде откуда брать
        
curl_setopt ($ch, CURLOPT_COOKIE, session_name() . '=' . session_id());
        
$html = curl_exec($ch);
        
curl_close($ch);

        
preg_match('/http:\/\/dl.zaycev.net\/(.*?).mp3/i', $html, $out);
        echo 
'<a href="http://dl.zaycev.net/'.$out[1].'.mp3">Скачать</a>';
    }
}
?>
Может в чём-то я ошибся? SaveFrom.net - тут работает, значит какой-то вариант скачки работает...

Зарание спасиба
 
Ответить с цитированием

  #2  
Старый 03.05.2009, 21:52
Nightmarе
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
С нами: 10018169

Репутация: 1680


По умолчанию

Естественно, а ты как хотел?
Скачать можно только через скрипт. Напрямую доступ закрыт.
 
Ответить с цитированием

  #3  
Старый 03.05.2009, 22:00
FreShBY
Новичок
Регистрация: 03.05.2009
Сообщений: 14
С нами: 8959612

Репутация: 10
По умолчанию

Ммм, можеш скинуть пример? Как скачать через скрипт. Пробал хеадер аттачмент .. потом реадфайл и мне краказяблы выдало ..
 
Ответить с цитированием

  #4  
Старый 03.05.2009, 22:16
Dahaking
Banned
Регистрация: 28.03.2009
Сообщений: 8
С нами: 9011474

Репутация: -1
По умолчанию

FreShBY, он имел ввиду скачать только через сайт можно.
 
Ответить с цитированием

  #5  
Старый 03.05.2009, 22:19
FreShBY
Новичок
Регистрация: 03.05.2009
Сообщений: 14
С нами: 8959612

Репутация: 10
По умолчанию

как тогда __http://savefrom.net/search.php работает? Ссылка генерируется и скачать можно.

В моём скрипте обычная ссылка, как и на самом зайцеве. Просто мой скрипт без графики и т.д.- что бы быстрее и удобнее.
 
Ответить с цитированием

  #6  
Старый 03.05.2009, 22:32
.:EnoT:.
Постоянный
Регистрация: 29.05.2007
Сообщений: 850
С нами: 9975266

Репутация: 1916


По умолчанию

Много кода..=\
Нельяза чтоли в одну функцию курл засунуть?

По сабжу, заголовки прописывай и качай на здоровье http://forum.antichat.ru/threadnav40896-1041-10.html
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Начинаем программировать на C++, C#, ассемблере(win), Qt, Python, Java, AS3. nerezus С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 688 10.06.2010 15:08
Прямая ссылка на капчу PHP-форума alex.k12 PHP 11 03.05.2009 23:23
Обзор софта для работы с icq и не только..) em00s7 Skype, IRC, ICQ, Jabber и другие IM 15 26.09.2006 11:32
Ссылка на урл с рисунком, а выполнение скрипта? (На примере форума Vbulletin 3.0.1) c0rp$e Уязвимости CMS / форумов 4 14.02.2005 17:11



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.