Ayuda curl metodo post

  • Autor Autor xaiborweb
  • Fecha de inicio Fecha de inicio
xaiborweb

xaiborweb

Programador
No recomendado
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
hola compañeros tengo el siguiente código curl
PHP:
<?php 
set_time_limit(0);
function curl($url,$referer,$metodopost,$cookies){
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_HTTPHEADER,
        array('Accept-Language:es-ES,es;q=0.9,de;q=0.8,pt;q=0.7',
            'Connection:keep-alive',
            'Content-Type:application/json; charset=utf-8',
            'Accept:application/json, text/javascript,'
        )
    );
    if(!empty($referer)){
        curl_setopt($ch, CURLOPT_REFERER, $referer);
    }else{
        curl_setopt($ch, CURLOPT_REFERER, $url);
    }
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36');
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    if(!empty($metodopost)){ 
        curl_setopt($ch, CURLOPT_POST, TRUE); 
        curl_setopt($ch, CURLOPT_POSTFIELDS, $metodopost); 
    }
    if(!empty($cookies)){
        curl_setopt($ch, CURLOPT_COOKIEJAR, $cookies);
        curl_setopt($ch, CURLOPT_COOKIEFILE, $cookies);
    }
    $source = curl_exec($ch);
    curl_close($ch); 

    if(!empty($source)){ 
        return $source;
    }else{ 
        return 'Forbidden'; 
    } 
}
//curl
$url_title = 'http://www.veopeliculashd.com/pelicula/ver-ninfomania-volumen-1-online';
$html_title = curl($url_title,'','','');
$cookies = 'veopeliculashd.txt';
$json = 'http://www.veopeliculashd.com/ajax/getserver/13827';
$metodopost = array('video' => '13827');
echo $html = curl($json,$url_title,$metodopost,$cookies);
pero no me imprime la pagina cuando desde la misma pagina si imprime como se puede ver en la imagen
https://i.gyazo.com/f4c1bbf527e34bb0d25c455b21f31409.png
https://i.gyazo.com/9dbd0b299048f2261a0463828aa6c817.png

agradezco cualquier ayuda 😉 en que estoy haciendo mal
 
[MENTION=35077]xaiborweb[/MENTION] el X-CSRF-TOKEN creo que es una protecion!!
 
Última edición:
[MENTION=35077]xaiborweb[/MENTION] el X-CSRF-TOKEN creo que es una protecion!!

hola amigo gracias por responder y esta otra pagina curl que tampoco me imprime sabras que esta mal ?

PHP:
//curl
$url = 'http://pelisplus.co/series/';
$json = 'http://pelisplus.co/series/pagination/';
$metodopost = array('page' => '2','type' => 'recents');
echo $html = curl($json,$url,$metodopost,'');

la misma funciona curl del primer codigo
 
[MENTION=35077]xaiborweb[/MENTION] me funciono solo sacando 'Content-Type:application/json; charset=utf-8', :encouragement:
 
[MENTION=35077]xaiborweb[/MENTION] me funciono solo sacando 'Content-Type:application/json; charset=utf-8', :encouragement:

hey bro muchas gracias por tu apoyo enserio que eres grande 😉

espero no sea mucho atrevimiento pero ahora mismo ando batallando con esta pagina
PHP:
http://widget.olimpo.link/playlist/?tmdb=269149
el cual genero el enlace tal cual lo hace en el navegador algo como esto
PHP:
http://widget.olimpo.link/api/?name=olimpo.link.auto_checker&theme=1&data[sdata]=qibLquvUG%2BarZyiRnWLBWwJyLt7eRAf98q3oNRmrcCH8zo%2BEYlpmeJoN%2BwrHG2N1lsnGdcdKAq%2FYOHuFJagpVxcYF3GhuCDkFgebiMNsHzh2EV%2FVDuA%2Ba%2F%2BnhizKk74%2F3DCyMvskTxnB5k9ViVTaoLZBpjDpdRUtT1rBCov6Gdq9%2F%2FcRKZzXMxPQdV9fcgPJ
pero cuando le hago curl me imprime esto.
PHP:
{"success":false,"error":{"token":["Token invalido"]},"page":1,"total":0,"start":0,"limit":10,"items":[],"count":0}
no logro ver cual es el problema si genero el enlace tal cual lo hace en e navegador.
 
[MENTION=35077]xaiborweb[/MENTION] que quieres sacar en esta web man?
 
Última edición:
[MENTION=35077]xaiborweb[/MENTION] que quieres sacar en esta web man?

el enlace directo del servidor. rapidvideo, openload, etc.

- - - Actualizado - - -

[MENTION=1597]YeltsinReyes[/MENTION]
creo que el problema aquí es la cookie, lo que no entiendo es que cuando yo solicito el contenedor de enlaces descargo la cookie asi
PHP:
$olimpolink = 'http://widget.olimpo.link/playlist/?tmdb='.$id_tmdb;
$htmlembed = curl($olimpolink,'','','');
$cookie = 'C:\xampp\htdocs\bot\cookies\olimpo.txt';
y cuando armo el enlace le envio la cookie de esta manera
PHP:
preg_match_all('|<li data-sdata="(.*)</li>|sU', $htmlembed, $embed);

$lembed = explode('"',$embed[1][0]);
$liembe = 'http://widget.olimpo.link/api/?name=olimpo.link.auto_checker&theme=1&data[sdata]='.urlencode($lembed[0]);
$hlembed = curl($liembe,$olimpolink,'',$cookie);

pero no la reconoce por que si habilito el header en la función curl así
PHP:
curl_setopt($ch, CURLOPT_HEADER, TRUE);
entonces puedo ver como no toma la cookie si no que la vuelve a crear.
espero no se molesten pero cito a algunos de los programadores que e visto que saben del tema con la esperanza de que alguno se de de cuenta del error que estoy cometiendo gracias.
[MENTION=41713]nestornoe[/MENTION], [MENTION=127525]jsstoni[/MENTION] , [MENTION=146186]haritz[/MENTION] , [MENTION=169178]Son Lux[/MENTION] , [MENTION=179762]MrDeveloper[/MENTION] , [MENTION=160514]elChapo[/MENTION] , [MENTION=152535]Daraker[/MENTION] , [MENTION=26062]Dieguit0sk8[/MENTION] , [MENTION=49389]Goomaru[/MENTION]
 
Estaba viendo las paginas de las que quieres sacar las cosas, si tienen los links vistos, lo que haria para empezar es hacer var_dump de cada paso, para ver la respuesta de la pagina.

Si estoy recibiendo la respuesta correcta despues ya trataria de sacar lo que necesito.

Saludos
 
si envías la cookie desde un archivo utiliza:
Insertar CODE, HTML o PHP:
curl_setopt($ch, CURLOPT_COOKIEFILE, $file);

seria de gran ayuda que dejaras el código completo en un gist repositorio ya que curl($liembe,$olimpolink,'',$cookie); la función curl() la generaste voz hay que ver como estas armando los argumentos de cada opción.
 
Mmm, ando fuera y no lo puedo checar a detalle, pero por lo que veo, la api te esta dando un error en el token o código de verificación, la api no necesita ningún parámetro de verificación?
 
hola gracias por responder cree un gig con lo que llevo, el problema es que me arroja un error token, que creo que lo confirma con la cookie pero según veo mi cogido php le estoy enviando la cookie pero aun sigue arrojando el error token así que adjunto el enlace de mi código.
curl olimpo · GitHub


Estaba viendo las paginas de las que quieres sacar las cosas, si tienen los links vistos, lo que haria para empezar es hacer var_dump de cada paso, para ver la respuesta de la pagina. Si estoy recibiendo la respuesta correcta despues ya trataria de sacar lo que necesito.
Saludos
si envías la cookie desde un archivo utiliza:
Insertar CODE, HTML o PHP:
curl_setopt($ch, CURLOPT_COOKIEFILE, $file);
seria de gran ayuda que dejaras el código completo en un gist repositorio ya que curl($liembe,$olimpolink,'',$cookie); la función curl() la generaste voz hay que ver como estas armando los argumentos de cada opción.
Mmm, ando fuera y no lo puedo checar a detalle, pero por lo que veo, la api te esta dando un error en el token o código de verificación, la api no necesita ningún parámetro de verificación?
 
[MENTION=35077]xaiborweb[/MENTION] man me funciono de esta forma, prueba y me dices! :encouragement:

PHP:
<?php 

set_time_limit(0);

$ch = curl_init('http://widget.olimpo.link/playlist/?tmdb=284053');
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'C:\AppServ\www\olimpo.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'C:\AppServ\www\olimpo.txt');
$source = curl_exec($ch);
curl_close($ch);

preg_match_all('|<li data-sdata="(.*)">|sU', $source, $data);

$ch2 = curl_init('http://widget.olimpo.link/api/?name=olimpo.link.auto_checker&theme=1&data[sdata]='.urlencode($data[1][0]));
curl_setopt($ch2, CURLOPT_REFERER, 'http://widget.olimpo.link/playlist/?tmdb=284053');
curl_setopt($ch2, CURLOPT_HEADER, FALSE);
curl_setopt($ch2, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch2, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch2, CURLOPT_COOKIEJAR, 'C:\AppServ\www\olimpo.txt');
curl_setopt($ch2, CURLOPT_COOKIEFILE, 'C:\AppServ\www\olimpo.txt');

$rep = curl_exec($ch2);
curl_close($ch2);

echo $rep;

?>
 
Hola me pregunto de donde sacas esta url
HTML:
http://widget.olimpo.link/playlist/?tmdb=284053
 
Atrás
Arriba