Extraer contenido de una página en ASPX con PHP (Estando Logeado)

  • Autor Autor Carambel
  • Fecha de inicio Fecha de inicio
Carambel

Carambel

Ómicron
Social Media
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
Hola a todos, estoy intentado extraer contenido con php de una web, pasa algo curioso.

1.- Si no estas logeado osea la pagina común que todos pueden ver (Si puedo extraer los datos con este código)

PHP:
<?php
$url = 'http://190.116.50.7/virtualclass/';
$contents = htmlentities(file_get_contents($url));
echo $contents;
?>

2.- Si estoy logeado y entro al panel de la misma página no puedo extraer nada.

PHP:
<?php
$url = 'http://190.116.50.7/VirtualClass/Alumnos/Paginas/P_Mis_Notas_Clasicas.aspx';
$contents = htmlentities(file_get_contents($url));
echo $contents;
?>

¿Por que pasa esto?, y que debo de hacer para poder extraer el contenido?
 
No puedes hacerlo ya que al hacer el file_get_contents no te deja es como que no estas logeado y te a ha botar a otra pagina, se puede hacer Curl en php seria cosa que ponerle mas dedicacion, pero del metodo que tu quieres dudo que te salga.

Puedes buscar un poco mas en google mira, mas o menos haci es lo que te digo.
 
No es lo mismo que tú estés logeado, a que lo esté tu script. Debes usar Curl, y cookies para lograr lo que buscas.
 
No puedes hacerlo ya que al hacer el file_get_contents no te deja es como que no estas logeado y te a ha botar a otra pagina, se puede hacer Curl en php seria cosa que ponerle mas dedicacion, pero del metodo que tu quieres dudo que te salga.

Puedes buscar un poco mas en google mira, mas o menos haci es lo que te digo.

Muchas gracias por la respuesta, investigare mas me diste una gran pista.
 
Hola.

Lo que pasa es que hay dos escenarios:

1. Al NO estar logueado no existirán cookies ni la sesión de logueo desde el lado del servidor (bueno no se validaran esos datos), entonces se podrá hacer un petición (GET) a una pagina publica por ejemplo:
Insertar CODE, HTML o PHP:
http://190.116.50.7/virtualclass/
que devolverá correctamente el html resultante que devuelve el servidor, "esta pagina es visible sin necesidad de estar logueado", NO PROBLEM?

2. Al estar logueado al usuario se le agregan unas cookies (comúnmente) y una sesión desde el lado del servidor, entonces si yo hago una petición (GET) a una pagina que únicamente pueden ver los usuarios logeados por ejemplo:
Insertar CODE, HTML o PHP:
http://190.116.50.7/VirtualClass/Alumnos/Paginas/P_Mis_Notas_Clasicas.aspx
no se podrá por que al hacerse el servidor en el backend revisara si existe un sesión de usuario y las cookies, y pues si no las encuentra redirigirá al inicio de sesión o devolverá un error por ejemplo un 403 o 401

Entonces que hago en el segundo caso:

Hacer lo que haces comúnmente en el navegador chorme pero desde PHP: Primero me logueo (POST) (envió usuario, password ), guardo cookies en un txt y luego obtengo el html de
http://190.116.50.7/VirtualClass/Alumnos/Paginas/P_Mis_Notas_Clasicas.aspx con un (GET).

Para esto ya necesitas curl:


Sin embargo para esto debes aprender como funciona GET y POST y como dice @Henry00jj95 ese ejemplo es muy bueno.

Para ver los datos que se envían (POST) puedes usar charles proxy o en chorme oprimiendo f12 -> network, es difícil de explicar bro.

Mira este ejemplo:
 
Última edición:
Atrás
Arriba