Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema cURL abrir web

Estas en el tema de Problema cURL abrir web en el foro de PHP en Foros del Web. Buenas a todos, estoy probando abrir una web simplemente con cURL ( nada del otro mundo ), no necesito loguearme ni nada, simplemente abrir una ...
  #1 (permalink)  
Antiguo 22/03/2015, 12:01
 
Fecha de Ingreso: agosto-2009
Mensajes: 72
Antigüedad: 14 años, 8 meses
Puntos: 0
Problema cURL abrir web

Buenas a todos,

estoy probando abrir una web simplemente con cURL ( nada del otro mundo ), no necesito loguearme ni nada, simplemente abrir una web. Si que es verdad que tiene redirecciones internas y también le indico el fichero de la cookie con la que quiero que grabe la sesión, el problema es que no sé si me detecta que uso cURL, porqué la sesión que me da si uso un navegador normal siempre me funciona, incluso si cambio la sesión que hay dentro de la cookie por la qué me ha dado el navegador ya me funciona.

La url es: www. faf. es

Tengo abierto el curlopt_followlocation y me da las redirecciones correctas, pero no consigo abrir que me devuelva el http.

Uso este código para abrir la url:

$ch2 = curl_init();
curl_setopt($ch2, CURLOPT_URL, $url);
curl_setopt($ch2, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch2, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)');
curl_setopt($ch2, CURLOPT_HEADER, true);
curl_setopt($ch2, CURLOPT_COOKIEJAR, 'cookie2.txt');
curl_setopt($ch2, CURLOPT_COOKIEFILE, 'cookie2.txt');
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch2, CURLOPT_VERBOSE, true);
curl_setopt($ch2, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch2, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch2, CURLOPT_AUTOREFERER, true);
curl_setopt($ch2, CURLOPT_MAXREDIRS, -1 );
$content = curl_exec($ch2);
curl_close($ch2);

Con este código consigo esto:

HTTP/1.1 302 Movido temporalmente
Server: Apache-Coyote/1.1
Cache-Control: no-cache
Pragma: no-cache
Set-Cookie: JSESSIONID=28928669DDA3567D7390984D6F3694FC; Path=/pnfg
Location: http://faf .es/pnfg/NLogin?NSess=1&N.../pnfg/NPortada
Content-Length: 0
Date: Sun, 22 Mar 2015 17:58:41 GMT
Connection: close

HTTP/1.1 302 Movido temporalmente
Server: Apache-Coyote/1.1
Cache-Control: no-cache
Pragma: no-cache
Location: http://faf .es/pnfg/NPortada
Content-Length: 0
Date: Sun, 22 Mar 2015 17:58:41 GMT
Connection: close

HTTP/1.1 302 Movido temporalmente
Server: Apache-Coyote/1.1
Location: http://faf .es/pnfg/NLogin
Content-Length: 0
Date: Sun, 22 Mar 2015 17:58:41 GMT
Connection: close

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Cache-Control: no-cache
Pragma: no-cache
Content-Length: 0
Date: Sun, 22 Mar 2015 17:58:41 GMT
Connection: close

Pero no me devuelve nada en la variable "contents".

Qué hago mal?

Un saludo!

Última edición por i_minex; 22/03/2015 a las 15:49
  #2 (permalink)  
Antiguo 23/03/2015, 08:17
 
Fecha de Ingreso: agosto-2009
Mensajes: 72
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Problema cURL abrir web

Nadie tiene idea?
  #3 (permalink)  
Antiguo 23/03/2015, 08:37
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 10 meses
Puntos: 379
Respuesta: Problema cURL abrir web

Estas seguro que estas abriendo la url correcta ?
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #4 (permalink)  
Antiguo 23/03/2015, 11:10
 
Fecha de Ingreso: agosto-2009
Mensajes: 72
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Problema cURL abrir web

Pues si si, la URL es la correcta. Aquí la he puesto con un espacio pero me devuelve correcta.

Si pruebas hacer una petición, nunca me devuelve el HTML... Y estoy pensando que detecta las peticiones cURL o similar, porqué no entiendo nada...

Un saludo! ;)
  #5 (permalink)  
Antiguo 23/03/2015, 11:15
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema cURL abrir web

Cita:
Si pruebas hacer una petición, nunca me devuelve el HTML... Y estoy pensando que detecta las peticiones cURL o similar, porqué no entiendo nada...
¿De verdad?

Yo he copiado tu código tal y me funciona perfecto.

A propósito tu mencionas una variable "contents" pero no existe, es $content, mira:
Código PHP:
Ver original
  1. $url = 'http://www.faf.es/';
  2.  
  3. $ch2 = curl_init();
  4. curl_setopt($ch2, CURLOPT_URL, $url);
  5. curl_setopt($ch2, CURLOPT_SSL_VERIFYPEER, false);
  6. curl_setopt($ch2, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)');
  7. curl_setopt($ch2, CURLOPT_HEADER, true);
  8. curl_setopt($ch2, CURLOPT_COOKIEJAR, 'cookie2.txt');
  9. curl_setopt($ch2, CURLOPT_COOKIEFILE, 'cookie2.txt');
  10. curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true);
  11. curl_setopt($ch2, CURLOPT_VERBOSE, true);
  12. curl_setopt($ch2, CURLOPT_FOLLOWLOCATION, true);
  13. curl_setopt($ch2, CURLOPT_CONNECTTIMEOUT, 30);
  14. curl_setopt($ch2, CURLOPT_AUTOREFERER, true);
  15. curl_setopt($ch2, CURLOPT_MAXREDIRS, -1 );
  16. $content = curl_exec($ch2);
  17. curl_close($ch2);
  18.  
  19. var_dump($content);
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 23/03/2015, 11:54
 
Fecha de Ingreso: agosto-2009
Mensajes: 72
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Problema cURL abrir web

Cita:
Iniciado por pateketrueke Ver Mensaje
¿De verdad?

Yo he copiado tu código tal y me funciona perfecto.

A propósito tu mencionas una variable "contents" pero no existe, es $content, mira:
Código PHP:
Ver original
  1. $url = 'http://www.faf.es/';
  2.  
  3. $ch2 = curl_init();
  4. curl_setopt($ch2, CURLOPT_URL, $url);
  5. curl_setopt($ch2, CURLOPT_SSL_VERIFYPEER, false);
  6. curl_setopt($ch2, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)');
  7. curl_setopt($ch2, CURLOPT_HEADER, true);
  8. curl_setopt($ch2, CURLOPT_COOKIEJAR, 'cookie2.txt');
  9. curl_setopt($ch2, CURLOPT_COOKIEFILE, 'cookie2.txt');
  10. curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true);
  11. curl_setopt($ch2, CURLOPT_VERBOSE, true);
  12. curl_setopt($ch2, CURLOPT_FOLLOWLOCATION, true);
  13. curl_setopt($ch2, CURLOPT_CONNECTTIMEOUT, 30);
  14. curl_setopt($ch2, CURLOPT_AUTOREFERER, true);
  15. curl_setopt($ch2, CURLOPT_MAXREDIRS, -1 );
  16. $content = curl_exec($ch2);
  17. curl_close($ch2);
  18.  
  19. var_dump($content);
Ostras! Pues lo he probado con dos servers distintos ( con IP diferente ) y nada :(

He borrado la cookie en cuestión (cookie2.txt), también revisé que tenga permisos de lectura y escritura y nada. También revisé el log del server y tampoco me aparece nada...

Podría ser alguna configuración de cURL ? Hay algún fichero .ini que pueda tocar? Puede ser qué tenga algún máximo de redirecciones aunque le ponga "-1" al MAXREDIRS?

Referente a "contents" me equivoqué al escribirlo, realmente uso la variable correcta "$content".

Muchas gracias por vuestra ayuda!

Un saludo! :)
  #7 (permalink)  
Antiguo 23/03/2015, 12:02
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema cURL abrir web

Pues que raro, acabo de probar el mismo código que te mostré en la máquina del trabajo y funciona perfecto.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 23/03/2015, 12:22
 
Fecha de Ingreso: agosto-2009
Mensajes: 72
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Problema cURL abrir web

Cita:
Iniciado por pateketrueke Ver Mensaje
Pues que raro, acabo de probar el mismo código que te mostré en la máquina del trabajo y funciona perfecto.
Entiendo que si muestras la variable "$content", ves la página web no?

Entonces no entiendo porqué no me hace las redirecciones... Si te fijas en el primer mensaje, solo me hace 2 redirecciones y allí se queda.

También he visto que en la cookie, me crea un ID de sesión que no funciona. En cambio si pongo el ID de sesión que me da con Chrome ( por ejemplo ), luego si que me funciona.

Tengo otro server, quizá lo pruebo con ese a ver que resultado me da. Lo tengo contratado con serverloft y son de esos "virtuales"... Que no tengan algun parametro que se me escape. Sabes si hay algún archivo .ini para poder configurar cURL?

Un saludo.
  #9 (permalink)  
Antiguo 23/03/2015, 14:17
 
Fecha de Ingreso: agosto-2009
Mensajes: 72
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Problema cURL abrir web

Lo he probado con otro servidor que tengo, y lo mismo... No entiendo nada.

Con el código que he puesto, me devuelve esto:

HTTP/1.1 302 Movido temporalmente
Server: Apache-Coyote/1.1
Location: http://www.faf.es/pnfg/NLogin
Content-Length: 0
Date: Mon, 23 Mar 2015 20:22:26 GMT
Connection: close
  #10 (permalink)  
Antiguo 24/03/2015, 13:51
 
Fecha de Ingreso: agosto-2009
Mensajes: 72
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Problema cURL abrir web

La verdad es que sin tocar nada ya vuelve a funcionar...

Gracias a todos los participantes de este hilo.

Un saludo! :)

Etiquetas: curl, variable
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 21:58.