Foros del Web » Programando para Internet » PHP »

Buenas amigos, saben necesito una gran idea de un experto.

Estas en el tema de Buenas amigos, saben necesito una gran idea de un experto. en el foro de PHP en Foros del Web. Hola buenas noches , tardes o días. Estoy tratando de extraer el código fuente de un sitio (solo HTML) mediante PHP. El sitio es un ...
  #1 (permalink)  
Antiguo 25/04/2010, 20:23
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 5 meses
Puntos: 188
Buenas amigos, saben necesito una gran idea de un experto.

Hola buenas noches , tardes o días.

Estoy tratando de extraer el código fuente de un sitio (solo HTML) mediante PHP.

El sitio es un foro en PHPBB.

La intención es analizar la página de perfil de un usuario y extraer del código fuente su nickname y la cantidad de mensajes que ha realizado, esto con el fín de realizar una validación en otro script y verificar que el usuario que se registre en el otro script sea el mismo que el del foro PHPBB.

Todo bíen, con show_source() puedo abrirl el código fuente, el problema es que para mostrar la página de perfil se necesita hacer sesión.

Yo puedo mirar la página de perfil porque tengo sesión iniciada ademas son Administrador de ese foro.

Pero como le puedo hacer para que PHP inicie sesión (con mi user ypass) y pueda extraer el código fuente de la página.


Debe haber alguna manera, por favor ayudenme a pensar.
GRacias.
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #2 (permalink)  
Antiguo 25/04/2010, 20:31
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 9 meses
Puntos: 1517
Respuesta: Buenas amigos, saben necesito una gran idea de un experto.

Lo puedes lograr con cURL o algún socket. Mira este aporte http://www.forosdelweb.com/f18/aport...equest-724214/
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 25/04/2010, 20:55
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 5 meses
Puntos: 188
Respuesta: Buenas amigos, saben necesito una gran idea de un experto.

Abimaelrc, eres realmente increible, me he leido decenas de post suyos. Muy bien explicados. Felicidades.
____________________________

Mi servidor tiene allow_url_fopen ON y cURL enable, como recomendación suya uso este método.

Ya que tengo que hacer logín mediante el method POST me corresponde éste código:

Código PHP:
Ver original
  1. <?php
  2. $url = 'http://www.example.com/submit.php';
  3. $body = 'FDW=programacion&PHP=f18';
  4. $c = curl_init($url);
  5. curl_setopt($c, CURLOPT_POST, true);
  6. curl_setopt($c, CURLOPT_POSTFIELDS, $body);
  7. curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
  8. $page = curl_exec($c);
  9. echo $page;
  10. ?>

En el código anterior hay una cosa que no entiendo

que es

FDW=programacion&PHP=f18

que significa cada una de las anteriores.

Muchas gracias.
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #4 (permalink)  
Antiguo 25/04/2010, 21:02
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 9 meses
Puntos: 1517
Respuesta: Buenas amigos, saben necesito una gran idea de un experto.

Eso son variables y valores. Use de ejemplo una variable llamada FDW y como valor tiene programacion, también otra variable llamada PHP y como valor f18. En ese tienes que declarar los nombres de los campos. Pero vas a tener que leer un poco más ya que por lo general un sistema de logueo como esos requiere también cookies.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 25/04/2010, 21:35
 
Fecha de Ingreso: abril-2010
Mensajes: 19
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Buenas amigos, saben necesito una gran idea de un experto.

No soy un experto en CURL pero si te sirve de algo, yo obtengo la cookie anexando CURLOPT_HEADER, y me devuelve la cabezera "Set-Cookie" ya que es necesario almacenar la cookie para mantener la sesión siempre activa.

Ejemplo:
Código PHP:
Ver original
  1. <?php
  2. $url = 'http://www.example.com/submit.php';
  3. $body = 'FDW=programacion&PHP=f18';
  4. $c = curl_init($url);
  5. curl_setopt($c, CURLOPT_POST, true);
  6. curl_setopt($c, CURLOPT_POSTFIELDS, $body);
  7. curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
  8.  
  9. curl_setopt($c, CURLOPT_HEADER, 1); //MOSTRAR ENCABEZADO DEL HEADER
  10.  
  11.  
  12. $page = curl_exec($c);
  13. echo $page;
  14. ?>
  #6 (permalink)  
Antiguo 25/04/2010, 22:07
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 5 meses
Puntos: 188
Respuesta: Buenas amigos, saben necesito una gran idea de un experto.

muchas gracias amigos.

Ya pude hacer lo que quería =).

Mi código quedo asi:

Código PHP:
Ver original
  1. <?php
  2. $url = 'http://forumphpbb.net/login.forum?redirect=/profile.forum&mode=viewprofile&u=6883';
  3. $body = 'username=admin&password=123456&login=login&autologin=checked&redirect=/profile.forum&query=mode%3Dviewprofile%26u%3D6883';
  4. $options = array('max_redirects' => 3 , 'method' => 'POST', 'content' => $body);
  5. $context = stream_context_create(array('http' => $options));
  6. $page = file_get_contents($url, false, $context);
  7. echo "<textarea cols='100' rows='100'>".$page."</textarea>";
  8. ?>

Esta perfecto.

Muchas gracias amigos.
Buena noches.
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #7 (permalink)  
Antiguo 26/04/2010, 01:28
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 19 años, 9 meses
Puntos: 832
Respuesta: Buenas amigos, saben necesito una gran idea de un experto.

phpBB incluye un sistema con el cual puedes extender tus sesiones y login a páginas externas. Hay una info en el sitio oficial:

http://www.phpbb.com/kb/article/phpb...s-integration/

y otra aquí en el foro:

http://www.forosdelweb.com/f121/logi...phpbb3-541462/

Recuerda que usando los recursos nativos del software no sólo mantienes optimizada la seguridad de tu sitio, sino que además obtienes más opciones que puedes aprovechar.

Etiquetas: experto, idea
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 05:50.