Foros del Web » Programando para Internet » PHP »

Problema con cURL y http/https

Estas en el tema de Problema con cURL y http/https en el foro de PHP en Foros del Web. Hola, Primero la explicación de la finalidad: ocultar enlaces de afiliado. Y ahora el problema: Trabajando en un dominio bajo https, al intentar usar cURL ...
  #1 (permalink)  
Antiguo 19/09/2017, 03:26
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 21 años, 1 mes
Puntos: 154
Problema con cURL y http/https

Hola,

Primero la explicación de la finalidad: ocultar enlaces de afiliado.

Y ahora el problema:

Trabajando en un dominio bajo https, al intentar usar cURL para traer el contenido de una página de afiliado sin que se vea el enlace, como la página de afiliado funciona bajo http, los navegadores bloquean todos los css y js por estar servidos sin https.

Este es el código que tengo, trae perfectamente la página, pero como digo con esos bloqueos que hacen que no se vea ni funcione correctamente:

Código PHP:
Ver original
  1. // Definimos la función cURL
  2.     function curl($url) {
  3.         $ch = curl_init($url); // Inicia sesión cURL
  4.         curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Configura cURL para devolver el resultado como cadena
  5.         curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // Configura cURL para que no verifique el peer del certificado dado que nuestra URL utiliza el protocolo HTTPS
  6.         curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Devuelve el resultado de la transferencia como string en lugar de mostrarlo directamente.
  7.         curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // Para seguir cualquier redirección si no se establece el límite con CURLOPT_MAXREDIRS
  8.         $info = curl_exec($ch); // Establece una sesión cURL y asigna la información a la variable $info
  9.         curl_close($ch); // Cierra sesión cURL
  10.         return $info; // Devuelve la información de la función
  11.     }
  12.  
  13.     $sitioweb = curl($url_destino);  // Ejecuta la función curl y asigna el valor a la variable $sitioweb
  14.     echo $sitioweb; // Muestra en pantalla la página obtenida

Lo que se requiere es poder mostrar la página con todos sus archivos (css, js, etc.) sin que sea bloqueado por el navegador al usar https.

Cualquier ayuda será bienvenida, teniendo en cuenta que es la primera vez que uso cURL... estoy bastante perdido, aún con el manual delante...

Muchas gracias por anticipado.
  #2 (permalink)  
Antiguo 20/09/2017, 13:11
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 21 años, 1 mes
Puntos: 154
Respuesta: Problema con cURL y http/https

Hola,

¿A nadie le ha ocurrido esto o sabe la solución? A ver si voy a ser demasiado raro...
  #3 (permalink)  
Antiguo 20/09/2017, 14:01
Avatar de petit89  
Fecha de Ingreso: marzo-2011
Mensajes: 1.139
Antigüedad: 13 años, 9 meses
Puntos: 171
Respuesta: Problema con cURL y http/https

la solución es tener los recursos bajo https tambien... de http llamar https no es problema... pero de https llamar externos http si lo es, toma en cuenta que el certificado tiene una garantia de seguridad a veces con monto$ que ellos cubriran si por inseguro tu web ha sido vulnerada y no se puede incumplir.
__________________
█ WebHosting / Reseller a bajo costo | Uptime Garantizado | Soporte en Español e Ingles
¿Te sirvió la respuesta? Deja un +1 (Triangulo negro al lado derecho)
  #4 (permalink)  
Antiguo 20/09/2017, 14:49
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 21 años, 1 mes
Puntos: 154
Respuesta: Problema con cURL y http/https

Hola petit89,

Gracias por tu respuesta. Lo que me dices lo sé, el tema es si se podría hacer algo para que el navegador no bloquee los css, js y a veces las imágenes, aunque se sirvan mediante http.

Lo ideal sería que en el sitio "original" tuvieran también https, pero no siempre es posible, por eso mi empeño con este problema.

Etiquetas: bloqueo, css, curl, http, 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 13:40.