Extrair conteúdo de uma página em ASPX com PHP (Estando logado)

  • Autor Autor Carambel
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
Carambel

Carambel

Ómicron
Social Media
Verificado
Verificación en dos pasos activada
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?
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
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:
Inserir CODE, HTML ou 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:
Inserir CODE, HTML ou 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 edição:
Voltar
Topo