Вы не зашли.
Главная » PHP » Парсер, ошибка Error 400 Bad request
#1. Влад23 Off (0)
Участник
2015.05.13 10:10
Код:
<?php
if ( $xfieldsdata['pleer-all'] != '' ) {
    $xfield_data3 $xfieldsdata['pleer-all'];
    }
$sss     $xfield_data3;
$sss str_replace("<iframe src=","",$sss);
$sss str_replace("frameborder=\"0\"","",$sss);
$sss str_replace("scrolling=\"no\">","",$sss);
$sss str_replace("width=\"510\"","",$sss); 
$sss str_replace("height=\"400\"","",$sss);
$sss str_replace("\"","",$sss);
//echo $sss; - В этой переменной у меня получается адрес: http://flashservice.xvideos.com/embedframe/9866251
 
 
 $ch curl_init($sss);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false);
    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
    $out curl_exec($ch);
    curl_close($ch); 
 print $out
?>
И еще надпись ,если ее переводить, то неверный запрос от браузера. Как то так. В чем может быть проблема ,какой нужно заголовок отправлять верным ? Вот такой у меня проблема..
Отредактировано Влад23 (2015.05.13 11:11)
#2. Gemorroj Off (107)
Administrator
2015.05.13 19:07
Код:
$out = curl_exec($ch);
if (false === $out) {
var_dump(curl_error($ch));
}
посмотри детальнее что за ошибка
#3. Влад23 Off (0)
Участник
2015.05.13 20:08
Вот такое:

400 Bad request

Your browser sent an invalid request. bool(false)
#4. Gemorroj Off (107)
Administrator
2015.05.13 22:10
вероятно ты что-то не так описываешь.
конкретно код с curl рабочий.
#5. Влад23 Off (0)
Участник
2015.05.13 23:11
Возможно вот и хрен его пойми ) но помню был у меня рабочий парсер. Наверно нужн реферер передавать, защита может на стороне домена
Отредактировано Влад23 (2015.05.13 23:11)
#6. Gemorroj Off (107)
Administrator
2015.05.14 10:10
врядли. запустил код у себя - получил их страницу нормально.
#7. Влад23 Off (0)
Участник
2015.05.14 14:02
Код:
<?php
 
 
 
 $ch curl_init('http://flashservice.xvideos.com/embedframe/9866251');
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false);
    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
    $out curl_exec($ch);
    curl_close($ch); 
 print $out
?>
Добавлено спустя   3 минуты  4 секунды:
ну да так у меня тоже работает... А что же тогда, что за хуйня....
Отредактировано Влад23 (2015.05.14 14:02)
#8. Gemorroj Off (107)
Administrator
2015.05.14 14:02
ну значит проблема в коде выше или ниже.
#9. Влад23 Off (0)
Участник
2015.05.14 15:03
Да точно ошибка была тут


Код:
$sss = $xfield_data3;
$sss = str_replace("<iframe src=","",$sss);
$sss = str_replace("frameborder=\"0\"","",$sss);
$sss = str_replace("scrolling=\"no\">","",$sss);
$sss = str_replace("width=\"510\"","",$sss);
$sss = str_replace("height=\"400\"","",$sss);
$sss = str_replace("\"","",$sss); // это добавил
$sss = str_replace(" ","",$sss); // это
$sss = str_replace("</iframe>","",$sss); // и это
 
 
 
 
echo $sss;
Иначе фрейм обрезался, и выдёргивалась ссылка ,но закрывающий тег фрейма нет, в исходном коде выходило так:
Код:
http://flashservice.xvideos.com/embedframe/3662145</iframe>
Отредактировано Влад23 (2015.05.14 15:03)
#10. Влад23 Off (0)
Участник
2015.05.14 16:04
Я написал свой первый модуль парсер для dle cms с кешированием ))) Выдёргивания ембед кода с адалт туба.


Код:
<?php
 if(!defined('DATALIFEENGINE'))
{
    die("Hacking attempt!");
}
include ('engine/api/api.class.php'); 
if ( $xfieldsdata['pleer-all'] != '' ) {
    $xfield_data3 $xfieldsdata['pleer-all'];
    }
$xfield_data3 str_replace("<iframe src=","",$xfield_data3);
$xfield_data3 str_replace("frameborder=\"0\"","",$xfield_data3);
$xfield_data3 str_replace("scrolling=\"no\">","",$xfield_data3);
$xfield_data3 str_replace("width=\"510\"","",$xfield_data3); 
$xfield_data3 str_replace("height=\"400\"","",$xfield_data3);
$xfield_data3 str_replace("\"","",$xfield_data3); // это добавил
$xfield_data3 str_replace(" ","",$xfield_data3); // это
$xfield_data3 str_replace("</iframe>","",$xfield_data3); // и это 
$ch curl_init($xfield_data3);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false);
    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
    $out curl_exec($ch);
    curl_close($ch); 
 
$frame     $out;
 $frame str_replace("<html>","",$frame);
 $frame str_replace("<head>","",$frame);
 $frame str_replace("<title>Xvideos Embed</title>","",$frame);
 $frame str_replace("</head>","",$frame);
 $frame str_replace("<style>","<!--",$frame);
 $frame str_replace("</style>","-->",$frame);
 $frame str_replace("<body>","",$frame);
 $frame str_replace("</body>","",$frame);
 $frame str_replace("</html>","",$frame);
 $dle_api->save_to_cache "frame"$frame);
print $frame;
?>
<!--[xfvalue_pleer-all] этот комментарий с фреймом, обязателен. Сайт донор как то отслеживает, и запрещает показ видео если отсутствует фрейм...  -->
Добавлено спустя   6 минут  19 секунд:
Короче в дле есть дополнительные поля, туда копируем с сайта донора его предлагаемые iframe коды, в шаблоне они выводятся этим тегом [xfvalue_pleer-all]. Далее я разрешил в tpl файлах, выполнение php скрипта, и в tpl прописал скрипт выше. Он короче разбирает это доп поле, выдёргивает с фрейма прямую ссылку на страницу с плеером, которая подгружается с сайта донора. Далее по ссылке убирает лишнии ненужные для меня теги, body и тп хуйню, оставляя, только эмбед код. Кеширует, записывает эмбед в кеш, и выводит в моём tpl файле чистый ембед. Далее я вписываю в index.php

Код:
header("Content-Security-Policy: default-src 'self' *.xvideos.com;
");
И всё их кликандер не работает на моем сайте. Как транслировать их видос в собственном плеере, это уже другая беда, и я бес понятия, нужно учить php которого я не знаю к сожалению
Отредактировано Влад23 (2015.05.14 16:04)
Страниц: 1
Главная
WEB
PunBB Mod v0.6.2
0.014 s