Autor
|
Tema: Como leer código fuente de pagina web que requiera cookie activa o user y pass? (Leído 3,190 veces)
|
sk1pp3r
Desconectado
Mensajes: 51
|
Que tal, lo que busco hacer es que a través de una función PHP leer el código fuente de un sitio externo. Esto lo hago en mi Win7 con WAMP 2.2 Hasta ahora lo puedo lograr en sitios que NO REQUIEREN TENER ACTIVAS LAS COOKIES. Con este código: <?php $mi_url="http://www.yahoo.com"; $fo= fopen("$mi_url","r") or die ("No se ha encontrado la pagina."); $mi_cadena = null;
while (!feof($fo)) { $mi_cadena .= fgets($fo, 4096); } fclose ($fo); print("<textarea name='mi_area' cols='100' rows='20'>$mi_cadena</textarea>"); ?>
También en sitios QUE NO REQUIERAN TENER ACTIVAS LAS COOKIES Y QUE USEN SSL (https). Para esto tuve que instalar OpenSSL. Ahora si lo intento en sitios QUE SI REQUIEREN TENER LAS COOKIES ACTIVAS, no lo puedo lograr. Me aparece algo como: Este sitio requiere las cookies del navegador activadas. Y el codigo fuente que me puede leer es solo el de la pantalla de LOGIN. He intentado con este código pero no me resulta: <?php
function source_extract($file, $cookie, $postdata = ''){ $user_agent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.9) Gecko/20061206 Firefox/1.5.0.9'; $ch = curl_init($file); curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie); curl_setopt ($ch, CURLOPT_COOKIEFILE, $cookie); curl_setopt ($ch, CURLOPT_USERAGENT, $user_agent); if($postdata!='') curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata); curl_setopt ($ch, CURLOPT_POST, 1); $file_content = curl_exec ($ch); curl_close($ch); return $file_content; }
$codigo = source_extract('http://www.misitio.com/sección/pag?5454etcetc', './cookie.txt');
$user = 'user'; $pass = 'password'; $post = 'log='.$user.'&pwd='.$pass; $codigo = source_extract('http://www.misitio.com/sección/pag?5454etcetc', './cookie.txt', $post); $codigo = source_extract('http://www.misitio.com/sección/pag?5454etcetc', './cookie.txt', $post); ?> Este código lo encontré por allí pero no se si sea obsoleto, o esta mal implementado pero no me funciona. Me manda este error: Fatal error: Call to undefined function curl_init() in C:\wamp\www\Read\read_cookie.php on line 5 Call Stack # Time Memory Function Location 1 0.0008 377240 {main}( ) ..\read_cookie.php:0 2 0.0008 377384 source_extract( ) ..\read_cookie.php:18
|
|
|
En línea
|
|
|
|
jhonatanAsm
|
mmm, pos curl_init() y curl_setopt() me parece que son metodos de la libreria curl de php.
de ser así tendrías que instalarte la librería curl en tu pc.
salu2.
|
|
|
En línea
|
mi primer lenguaje fue ensamblador, tengo 60 años, y no creo que haya sido un error.
- La mayor complejidad de todas es hacer complejo algo que no lo es.
- El inteligente no es aquel que lo sabe todo sino aquel que sabe utilizar lo poco que sabe.
|
|
|
sk1pp3r
Desconectado
Mensajes: 51
|
Vientos, ya active el CURL desde php.ini. Solo era cuestión de activar esas librerías en mi WAMP. Ahora el error que me manda es el siguiente: (En Gmail y en otra pagina provada) Moved Temporarily The document has moved here. Según yo entiendo que primero tendría que dar la instrucción de activar cookies, luego meter datos de USER Y PASS, y ya después que este LOGEADO, leer el código fuente. Todo esto a traves del código que tengo... <?php $MiURL = "http://www.taringa.net"; //Función que hará la consulta de la página web. function source_extract($file, $cookie, $postdata = ''){ //Le hacemos creer al server de dicha página que nos estamos conectando con este navegador y desde este OS. $user_agent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.9) Gecko/20061206 Firefox/1.5.0.9'; //No se para que sea todo esto... $ch = curl_init($file); curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie); curl_setopt ($ch, CURLOPT_COOKIEFILE, $cookie); curl_setopt ($ch, CURLOPT_USERAGENT, $user_agent); if($postdata!='') curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata); curl_setopt ($ch, CURLOPT_POST, 1); $file_content = curl_exec ($ch); curl_close($ch); return $file_content; } //Función para LEER el código Fuente function LeeCodigoFuente($MiURL) { //Comprobamos existencia de URL $fo= fopen("$$MiURL","r") or die ("No se ha encontrado la pagina."); $mi_cadena = null; //Mientras no lleguemos al final del código fuente, seguimos leyendo de ah 4096 bits?? while (!feof($fo)) { $mi_cadena .= fgets($fo, 4096); } //Cerramos consulta... fclose ($fo); print("<textarea name='mi_area' cols='100' rows='20'>$mi_cadena</textarea>"); }
//Tampoco se que hace exactamente esta línea... $codigo = source_extract('http://www.taringa.net', './cookie.txt'); //Definimos datos a ingresar en dicha web. $user = 'sharepass12@yahoo.com.mx'; $pass = 'U2z4g98'; //Los unificamos... $post = 'log='.$user.'&pwd='.$pass; //Nos logueamos en la web con esto???? $codigo = source_extract('http://www.taringa.net', './cookie.txt', $post); print_r($codigo);
//Ahora leemos código fuente ya estando logueados y con cookies activas ??? echo LeeCodigoFuente(); ?> En taringa me muestra este error: ( ! ) Fatal error: Maximum execution time of 30 seconds exceeded in C:\wamp\www\Read\read_cookie.php on line 12 Call Stack # Time Memory Function Location 1 0.0009 379912 {main}( ) ..\read_cookie.php:0 2 0.0009 380120 source_extract( ) ..\read_cookie.php:29 Como sabrán no tengo casi idea de PHP. Espero una ayuda Un saludo y gracias
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Leer en una BD el user, pass y mensajes
Programación Visual Basic
|
drito
|
4
|
1,872
|
6 Febrero 2008, 14:21 pm
por cassiani
|
|
|
como entrar en la base de datos d una pagina web sabiendo el user, pass y nombre
« 1 2 »
Hacking
|
CICOLO_111234
|
13
|
25,486
|
1 Febrero 2011, 18:33 pm
por luis3333
|
|
|
Como obtener código fuente de una página con vb.NET?
« 1 2 »
.NET (C#, VB.NET, ASP)
|
jdc
|
10
|
15,956
|
24 Agosto 2010, 04:15 am
por jdc
|
|
|
Leer código fuente
Programación General
|
trini1970
|
4
|
4,052
|
2 Mayo 2013, 17:53 pm
por trini1970
|
|
|
Acceder a pagina web con user y pass desde Java
Java
|
puntoBat
|
3
|
3,929
|
10 Junio 2014, 10:49 am
por puntoBat
|
|