Foros del Web » Programando para Internet » PHP »

Enigma con paginasamarillas.es (500 Internal Server Error)

Estas en el tema de Enigma con paginasamarillas.es (500 Internal Server Error) en el foro de PHP en Foros del Web. Hola, estoy intentando leer informacion de paginasamarillas.es con php. Pero me ocurre un problema que no se explicar. Si entras en www.paginasamarillas.es funciona perfectamente y ...
  #1 (permalink)  
Antiguo 13/08/2010, 03:24
Avatar de NzO
NzO
 
Fecha de Ingreso: abril-2005
Mensajes: 153
Antigüedad: 19 años, 7 meses
Puntos: 3
Enigma con paginasamarillas.es (500 Internal Server Error)

Hola, estoy intentando leer informacion de paginasamarillas.es con php. Pero me ocurre un problema que no se explicar.

Si entras en www.paginasamarillas.es funciona perfectamente y sin problemas.
Sin embargo si intento leer algo de la pagina con readfile() por ejemplo me da un error "500 Internal Server Error".

Incluso haciendo:

Código:
print_r(get_headers("http://www.paginasamarillas.es/"));
el resultado es:

Código:
Array
(
    [0] => HTTP/1.1 500 Internal Server Error
    [1] => Date: Fri, 13 Aug 2010 09:12:50 GMT
    [2] => Vary: Accept-Encoding
    [3] => Content-Length: 534
    [4] => Content-Type: text/html; charset=iso-8859-1
    [5] => Cache-Control: max-age=0
    [6] => Expires: Fri, 13 Aug 2010 09:12:50 GMT
    [7] => Connection: close
)

Es algo muy extraño ya que como podeis comprobar, la web funciona perfectamente y no da ningun error.

Tambien he probado a modificar los headers antes de leer la pagina. Pero tampoco vá.


Código:
header('GET: HTTP/1.1');
header('Host: www.paginasamarillas.es');
header('User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; es-ES; rv:1.9.2.8) Gecko/20100722 AlexaToolbar/alxf-1.54 Firefox/3.6.8');
header('Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8');
header('Accept-Language: es-es,es;q=0.8,en-us;q=0.5,en;q=0.3');
header('Accept-Encoding: gzip,deflate');
header('Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7');
header('Keep-Alive: 115');
header('Connection: keep-alive');


¿Alguien sabria decirme porque ocurre esto? Espero que algun guru lo entienda porque yo no se que mas probar.
__________________
NzO=EnZo
isiAJAX & isiXML hechos el uno para el otro.
  #2 (permalink)  
Antiguo 13/08/2010, 08:23
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 16 años, 5 meses
Puntos: 127
De acuerdo Respuesta: Enigma con paginasamarillas.es (500 Internal Server Error)

estimado aqui llego el guru jajajajaja
mira lo que pasa es que este sitio reconoce el navegador con el que entras a su server y te despliega la info corecta para dicho navegador.
esto se usa mucho para evitar que personas ajenas a el sitio extaigan informacion para propositos no muy onestos.

ojo la solucion es usar CURL para mas info aqui: http://enlinea.webhop.net/guia/book.curl.html

esto se soluciona asi:
Código PHP:
<?php
$ch 
curl_init();
curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 6.1; es-CL; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3');
curl_setopt($chCURLOPT_URL"http://www.paginasamarillas.es/");
curl_setopt($chCURLOPT_RETURNTRANSFER1);
$output curl_exec($ch); 
curl_close($ch);
print 
$output;
?>
saludos.
  #3 (permalink)  
Antiguo 13/08/2010, 08:36
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Enigma con paginasamarillas.es (500 Internal Server Error)

enlinea777, perfecto y totalmente comprobado!!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 13/08/2010, 09:51
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 16 años, 5 meses
Puntos: 127
Respuesta: Enigma con paginasamarillas.es (500 Internal Server Error)

Cita:
Iniciado por pateketrueke Ver Mensaje
enlinea777, perfecto y totalmente comprobado!!
Gracias!!!
  #5 (permalink)  
Antiguo 14/08/2010, 03:19
Avatar de NzO
NzO
 
Fecha de Ingreso: abril-2005
Mensajes: 153
Antigüedad: 19 años, 7 meses
Puntos: 3
Respuesta: Enigma con paginasamarillas.es (500 Internal Server Error)

GUAU! Muchas gracias enlinea777. Me imaginaba que los tiros iban por ahí. Pero no sabia como solucionarlo.

De verdad muchas gracias por la solucion, te debo una crack ;)

Saludos.
__________________
NzO=EnZo
isiAJAX & isiXML hechos el uno para el otro.
  #6 (permalink)  
Antiguo 14/08/2010, 06:51
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Enigma con paginasamarillas.es (500 Internal Server Error)

Añado, solo es cuestión de añadir el encabezado, con cURL se puede lograr pero también con file_get_contents, ejemplo
Código PHP:
Ver original
  1. <?php
  2. $options = array('http' =>
  3.     array( 'header' => 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; es-CL; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3' . PHP_EOL )
  4. );
  5. $context = stream_context_create($options);
  6. $page = file_get_contents('http://www.paginasamarillas.es/', false, $context);
  7. echo $page;

Edito:
Añadí estos ejemplos al aporte que había creado, con un enlace a este tema.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Última edición por abimaelrc; 14/08/2010 a las 07:14
  #7 (permalink)  
Antiguo 15/08/2010, 04:20
Avatar de NzO
NzO
 
Fecha de Ingreso: abril-2005
Mensajes: 153
Antigüedad: 19 años, 7 meses
Puntos: 3
Respuesta: Enigma con paginasamarillas.es (500 Internal Server Error)

Muchas gracias abimaelrc. Tu solucion me parece mas elegante que usar cURL.

Aprovecho para preguntar una cosa que pregunte en su dia y no obtuve respuesta, ya que mas o menos está relacionado.

¿Se puede simular un post desde php sin formulario, Pero haciendo que el navegador viaje?
http://www.forosdelweb.com/f18/simul...o-html-750769/

Un saludo. Y gracias de antemano.
__________________
NzO=EnZo
isiAJAX & isiXML hechos el uno para el otro.
  #8 (permalink)  
Antiguo 15/08/2010, 06:34
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Enigma con paginasamarillas.es (500 Internal Server Error)

Bueno primero, la mejor forma es cURL, te recomiendo que la uses y lo otro mira este aporte para que vea como lograrlo 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
  #9 (permalink)  
Antiguo 15/08/2010, 09:55
Avatar de NzO
NzO
 
Fecha de Ingreso: abril-2005
Mensajes: 153
Antigüedad: 19 años, 7 meses
Puntos: 3
Respuesta: Enigma con paginasamarillas.es (500 Internal Server Error)

El problema esque con cURL no consigues que el navegador viaje hacia la pagina donde se hizo el POST.
__________________
NzO=EnZo
isiAJAX & isiXML hechos el uno para el otro.
  #10 (permalink)  
Antiguo 15/08/2010, 11:00
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Enigma con paginasamarillas.es (500 Internal Server Error)

Cita:
Iniciado por NzO Ver Mensaje
El problema esque con cURL no consigues que el navegador viaje hacia la pagina donde se hizo el POST.
de hecho si se puede, pero eso requiere de mucho ingenio... supongo que aún mas de lo que llevas ahora...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #11 (permalink)  
Antiguo 17/08/2010, 08:12
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 16 años, 5 meses
Puntos: 127
Respuesta: Enigma con paginasamarillas.es (500 Internal Server Error)

por eso yo digo lo que digo.


una pista para la redireccion.

usa javascript su el curl es mucho para ti.

Esta pagina te puede ayudar muchisimo

Enviar formulario con java script

con esto tienes demas para hacerlo.

los chicos de microsoft no encontraron mejor forma para su lenguaje ASP de .net que esta que te estoy diciendo claro que muchos de los programadores que ocupan este sistema no tienen ni idea que lo hacen asi.

Etiquetas: server
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 17:16.