Foros del Web » Programando para Internet » PHP »

Script PHP. ¿Es posible loguearse a otra web?

Estas en el tema de Script PHP. ¿Es posible loguearse a otra web? en el foro de PHP en Foros del Web. Hola. Tengo hecho un pequeño proyecto como hobby en vb6, pero lo estoy pasando a un script de php para ejecutarlo a diario con cron ...
  #1 (permalink)  
Antiguo 25/09/2012, 09:18
 
Fecha de Ingreso: abril-2007
Mensajes: 99
Antigüedad: 17 años
Puntos: 0
Pregunta Script PHP. ¿Es posible loguearse a otra web?

Hola. Tengo hecho un pequeño proyecto como hobby en vb6, pero lo estoy pasando a un script de php para ejecutarlo a diario con cron en cpanel.

Pero me he encontrado con un problema. Necesito coger código fuente de una página para trabajarlo, hasta ahí no hay problema, pero antes debo loguearme en la web. Con vb6 no tenía problema, pero usando un script de php no consigo hacerlo.

La web donde me tengo que loguear obviamente no es mía, es esta: www.comunio.es

Una vez logueado, la web te redirecciona a https://comunio.es/team_news.phtml donde hay ya puedo coger el código fuente y trabajarlo mediante cadenas.

¿Alguna manera de loguearse en la web mediante script de php?
  #2 (permalink)  
Antiguo 25/09/2012, 11:11
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Script PHP. ¿Es posible loguearse a otra web?

Sí.. puedes utilizar cURL ;)
__________________
>> Eleazan's Source
>> @Eleazan
  #3 (permalink)  
Antiguo 25/09/2012, 12:18
 
Fecha de Ingreso: abril-2007
Mensajes: 99
Antigüedad: 17 años
Puntos: 0
Respuesta: Script PHP. ¿Es posible loguearse a otra web?

Gracias. Alguna pista mas o algún ej. He repasado la función cUrl () pero no encuentro nada al respecto
  #4 (permalink)  
Antiguo 26/09/2012, 01:42
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Script PHP. ¿Es posible loguearse a otra web?

De la documentación de php.net: http://php.net/manual/es/function.curl-setopt.php#99399

Es una función puesta en un comentario... creo q hace lo q necesitas! Un saludo!
__________________
>> Eleazan's Source
>> @Eleazan
  #5 (permalink)  
Antiguo 26/09/2012, 05:47
 
Fecha de Ingreso: abril-2007
Mensajes: 99
Antigüedad: 17 años
Puntos: 0
Respuesta: Script PHP. ¿Es posible loguearse a otra web?

Cita:
Iniciado por Eleazan Ver Mensaje
De la documentación de php.net: http://php.net/manual/es/function.curl-setopt.php#99399

Es una función puesta en un comentario... creo q hace lo q necesitas! Un saludo!
Creo que doy palos de ciego. He probado estas dos funciones pero ninguna loguea, modificándola con mis datos. Evidentemente algo me falla.

Código:
<?php
/*
  Here is a script that is usefull to :
  - login to a POST form,
  - store a session cookie,
  - download a file once logged in.
*/

// INIT CURL
$ch = curl_init();

// SET URL FOR THE POST FORM LOGIN
curl_setopt($ch, CURLOPT_URL, 'http://www.example.com/Members/Login.php');

// ENABLE HTTP POST
curl_setopt ($ch, CURLOPT_POST, 1);

// SET POST PARAMETERS : FORM VALUES FOR EACH FIELD
curl_setopt ($ch, CURLOPT_POSTFIELDS, 'fieldname1=fieldvalue1&fieldname2=fieldvalue2');

// IMITATE CLASSIC BROWSER'S BEHAVIOUR : HANDLE COOKIES
curl_setopt ($ch, CURLOPT_COOKIEJAR, 'cookie.txt');

# Setting CURLOPT_RETURNTRANSFER variable to 1 will force cURL
# not to print out the results of its query.
# Instead, it will return the results as a string return value
# from curl_exec() instead of the usual true/false.
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

// EXECUTE 1st REQUEST (FORM LOGIN)
$store = curl_exec ($ch);

// SET FILE TO DOWNLOAD
curl_setopt($ch, CURLOPT_URL, 'http://www.example.com/Members/Downloads/AnnualReport.pdf');

// EXECUTE 2nd REQUEST (FILE DOWNLOAD)
$content = curl_exec ($ch);

// CLOSE CURL
curl_close ($ch);

/*
  At this point you can do do whatever you want
  with the downloaded file stored in $content :
  display it, save it as file, and so on.
*/
?>
Código:
<?php

// $url = page to POST data
// $ref_url = tell the server which page you came from (spoofing)
// $login = true will make a clean cookie-file.
// $proxy = proxy data
// $proxystatus = do you use a proxy ? true/false

function
curl_grab_page($url,$ref_url,$data,$login,$proxy,$proxystatus){
    if($login == 'true') {
        $fp = fopen("cookie.txt", "w");
        fclose($fp);
    }
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");
    curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
    curl_setopt($ch, CURLOPT_TIMEOUT, 40);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    if ($proxystatus == 'true') {
        curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, TRUE);
        curl_setopt($ch, CURLOPT_PROXY, $proxy);
    }
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_REFERER, $ref_url);

    curl_setopt($ch, CURLOPT_HEADER, TRUE);
    curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
    curl_setopt($ch, CURLOPT_POST, TRUE);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    ob_start();
    return curl_exec ($ch); // execute the curl command
    ob_end_clean();
    curl_close ($ch);
    unset($ch);
}

echo curl_grab_page("https://www.example.net/login.php", "https://www.example.net/", "username=foo&password=bar", "true",  "null", "false");

?>
  #6 (permalink)  
Antiguo 26/09/2012, 09:21
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Script PHP. ¿Es posible loguearse a otra web?

Ves poco a poco...

Primero intenta obtener una página con cURL, después intenta loguear... después mantener la session y poder ver otras páginas...

Ah, y piensa q cada "página" es un mundo, que un formulario de login solo te pedira dos valores, otro te pedirá 50.. asiq debes investigar qué hace falta y q no :)
__________________
>> Eleazan's Source
>> @Eleazan
  #7 (permalink)  
Antiguo 26/09/2012, 15:58
 
Fecha de Ingreso: abril-2007
Mensajes: 99
Antigüedad: 17 años
Puntos: 0
Respuesta: Script PHP. ¿Es posible loguearse a otra web?

Cita:
Iniciado por Eleazan Ver Mensaje
Ves poco a poco...

Primero intenta obtener una página con cURL, después intenta loguear... después mantener la session y poder ver otras páginas...

Ah, y piensa q cada "página" es un mundo, que un formulario de login solo te pedira dos valores, otro te pedirá 50.. asiq debes investigar qué hace falta y q no :)
Gracias, en ello estamos...
  #8 (permalink)  
Antiguo 23/10/2014, 03:48
 
Fecha de Ingreso: septiembre-2014
Mensajes: 5
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Script PHP. ¿Es posible loguearse a otra web?

Hola,

podrías comentar aquí si has podido resolver el problema??
Me veo en la misma situación, y me estoy volviendo loco ya... estoy haciéndolo con php y curl, pero ya estoy abierto a otro tipo de lenguaje y funciones, mientras pueda conseguirlo.

Una ayudita por favor!!!

Gracias.

Etiquetas: html, loguearse, posible
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:26.