Foros del Web » Programando para Internet » PHP »

PHP OO Eliminar la verificación de curl para https

Estas en el tema de Eliminar la verificación de curl para https en el foro de PHP en Foros del Web. Hola: No sé como se cambia el nombre a un debate. Eliminé el anterior y vuelvo a publicar este. Soy aficionado a la informática y ...
  #1 (permalink)  
Antiguo 09/12/2015, 03:58
 
Fecha de Ingreso: diciembre-2015
Mensajes: 5
Antigüedad: 8 años, 4 meses
Puntos: 0
Eliminar la verificación de curl para https

Hola:
No sé como se cambia el nombre a un debate. Eliminé el anterior y vuelvo a publicar este.
Soy aficionado a la informática y me encuentro con un problema que no soy capaz de resolver, a saber:
Tengo que bajar unos feed RSS de un servidor del ministerio de fomento, y es un servidor SSL. Cuando los intento bajar, mi servidor me devuelve este error:

Cita:
curl https://contrataciondelestado.es/wps/wcm/connect/4f63ed19-6c7f-4b91-8f7b-0d7ee34bc7de/index.xml?MOD=AJPERES
curl: (60) SSL certificate problem: unable to get local issuer certificate
More details here: http://curl.haxx.se/docs/sslcerts.html

curl performs SSL certificate verification by default, using a "bundle"
of Certificate Authority (CA) public keys (CA certs). If the default
bundle file isn't adequate, you can specify an alternate file
using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
the bundle, the certificate verification probably failed due to a
problem with the certificate (it might be expired, or the name might
not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
the -k (or --insecure) option.

Investigando un poco, me he dado cuenta de que mi servidor PHP, tiene activado el sistema de protección de sitios https a través de certificados SLL y el del ministerio de fomento no está en mi archivo de certificados ni en niguno, por lo que he visto.

Como no tengo información importante en la web, decido quitar la protección de la siguiente manera desde la consola (Ubuntu 14.04) con curl:

Primero ejecuto curl con:

Código PHP:
curl_exec () 
Después ejecuto:

Código PHP:
curl_setopt($chCURLOPT_SSL_VERIFYPEERfalse); 

Esto lo he consultado en varios foros...
El problema viene, que la consola me devuelve el siguiente mensaje:

-bash: syntax error unexpected token "curl_setopt"

He llegado hasta ahí y me he bloqueado... Si alguien me pudiera ayudar se lo agradecería...

Perdon por mi ignorancia!!! pero soy un aficinado con ganas de aprender...

Un saludo a todos,
  #2 (permalink)  
Antiguo 09/12/2015, 08:12
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Eliminar la verificación de curl para https

Cita:
-bash: syntax error unexpected token "curl_setopt"
¿Bash?

Ese error no parece ser PHP.

¿Qué script estás modificando?

¿Estás olvidando los punto-y-coma al final de cada instrucción?

Además se suele configurar primero antes de ejecutar cualquier cosa, no al revés.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 09/12/2015, 09:33
 
Fecha de Ingreso: diciembre-2015
Mensajes: 5
Antigüedad: 8 años, 4 meses
Puntos: 0
Respuesta: Eliminar la verificación de curl para https

Estoy haciendolo desde la consola, llamando primero a curl y después dando la instrucción...

Perdona por mi ignorancia...
  #4 (permalink)  
Antiguo 09/12/2015, 14:56
 
Fecha de Ingreso: octubre-2015
Ubicación: España
Mensajes: 21
Antigüedad: 8 años, 6 meses
Puntos: 6
Respuesta: Eliminar la verificación de curl para https

Buenas,
Si sólo quieres descargar el fichero entero por qué no usas ¿file_get_contents?
Código PHP:
<?php
    $url 
"https://contrataciondelestado.es/wps/wcm/connect/4f63ed19-6c7f-4b91-8f7b-0d7ee34bc7de/index.xml?MOD=AJPERES";
    
$data file_get_contents($url);
echo 
$data;
?>
De todas formas en cUrl sería así:
Código PHP:
<?php
    $url 
"https://contrataciondelestado.es/wps/wcm/connect/4f63ed19-6c7f-4b91-8f7b-0d7ee34bc7de/index.xml?MOD=AJPERES";
    
$ch curl_init();
    
curl_setopt($chCURLOPT_URL$url);
    
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    
curl_setopt($chCURLOPT_SSL_VERIFYPEERfalse); 
    
$data curl_exec($ch);
    
curl_close($ch);
    echo 
$data;    
?>
Espero que te sirva!
Saludos!

Etiquetas: curl, html, https
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 10:03.