Foros del Web » Programando para Internet » PHP »

Url verdadera con file_get_contents

Estas en el tema de Url verdadera con file_get_contents en el foro de PHP en Foros del Web. Hola, tratando de extraer el código fuente de una web, fue muy facil con @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original $codigo = file_get_contents ( 'http://web.dom' ...
  #1 (permalink)  
Antiguo 25/10/2011, 18:15
 
Fecha de Ingreso: julio-2011
Ubicación: mexico
Mensajes: 41
Antigüedad: 13 años, 4 meses
Puntos: 5
Url verdadera con file_get_contents

Hola, tratando de extraer el código fuente de una web, fue muy facil con

Código PHP:
Ver original
  1. $codigo = file_get_contents('http://web.dom');

pero el problema es que quiero saber la url de esta web si tiene una redireccion

como las de byt.li

como esta

http://t.co/zoYAHAA1

que si le pongo

Código PHP:
Ver original
  1. $codigo = file_get_contents(http://t.co/zoYAHAA1);

no puedo saber la url real de esta web

que es esta

https://sites.google.com/a/ocdiberoamerica.com/encuesta2011/

por medio del script



alguien sabe como puedo lograrlo?
  #2 (permalink)  
Antiguo 25/10/2011, 18:59
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 5 meses
Puntos: 793
Respuesta: Url verdadera con file_get_contents

A ver puedes hacer algo así, no sé si está muy rebuscado pero funciona:

Código PHP:
Ver original
  1. <?php
  2. $res = get_headers('http://t.co/zoYAHAA1', 1);
  3. echo $res['Location'][count($res['Location'])-1];
  4. //https://sites.google.com/a/ocdiberoamerica.com/encuesta2011/

Si se me ocurre alguna otra te aviso.

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #3 (permalink)  
Antiguo 25/10/2011, 19:00
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 15 años, 7 meses
Puntos: 322
Respuesta: Url verdadera con file_get_contents

Ésto se logra poniendo algunas preferencias (comúnmente en cURL). Lee éste post:
http://www.forosdelweb.com/f18/aport...equest-724214/
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #4 (permalink)  
Antiguo 25/10/2011, 19:10
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 5 meses
Puntos: 793
Respuesta: Url verdadera con file_get_contents

Cita:
Iniciado por Sourcegeek Ver Mensaje
Ésto se logra poniendo algunas preferencias (comúnmente en cURL). Lee éste post:
http://www.forosdelweb.com/f18/aport...equest-724214/
a que te refieres? seguir los location? file_get_contents lo hace automáticamente. Lo que yo entendí es que quiere saber a que URL lleva esa URL corta.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #5 (permalink)  
Antiguo 25/10/2011, 19:24
 
Fecha de Ingreso: julio-2011
Ubicación: mexico
Mensajes: 41
Antigüedad: 13 años, 4 meses
Puntos: 5
Respuesta: Url verdadera con file_get_contents

Wuaw excelente get_headers era lo que necesitaba leeré la dcumentación por que en algunas urls me devuelve solo "h" jeje, muchas gracias.
  #6 (permalink)  
Antiguo 25/10/2011, 19:28
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 5 meses
Puntos: 793
Respuesta: Url verdadera con file_get_contents

Si hay que cuadrarla bien y aplicarle algunas condiciones, mira así también funciona:

Código PHP:
Ver original
  1. <?php
  2. $res = get_headers('http://t.co/zoYAHAA1', 1);
  3. echo str_replace('Location: ', '', $http_response_header[17]);

$http_response_header y get_headers son arrays de donde puedes sacar esa información, pero todo depende de la cantidad de locations que tenga.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #7 (permalink)  
Antiguo 25/10/2011, 19:36
 
Fecha de Ingreso: julio-2011
Ubicación: mexico
Mensajes: 41
Antigüedad: 13 años, 4 meses
Puntos: 5
Respuesta: Url verdadera con file_get_contents

use esto despues de leer y me anda de 10

Código PHP:
Ver original
  1. $url = 'http://www.web.dom';
  2. $header = get_headers($url, 1);
  3. echo $header['Location'];

es que noe s exclusivo de t.co :P

gracias de nuevo :)
  #8 (permalink)  
Antiguo 25/10/2011, 19:38
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 5 meses
Puntos: 793
Respuesta: Url verdadera con file_get_contents

Si pero tienes que tener en cuenta este por ejemplo:

Código PHP:
Ver original
  1. <?php
  2. $url = 'http://t.co/zoYAHAA1';
  3. $header = get_headers($url, 1);
  4. echo $header['Location'];//Imprime array porque tiene 2 elementos

hacer una condición si $header['Location'] tiene 1 o más elementos y aplicar una u otra.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Última edición por andresdzphp; 25/10/2011 a las 19:43 Razón: ortografía
  #9 (permalink)  
Antiguo 25/10/2011, 19:44
 
Fecha de Ingreso: julio-2011
Ubicación: mexico
Mensajes: 41
Antigüedad: 13 años, 4 meses
Puntos: 5
Respuesta: Url verdadera con file_get_contents

tienes razón, probare mi sistema para ver este tipo de casos.

Etiquetas: url
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

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 05:39.