Buen dia amigos, aqui ando haciendo un proyecto el cual no puedo mostrar una imagen GIF por medio de cURL
<?
$respuesta = cURLXt("https://miweblogin.com/registro/bypass?TRANMISION=image_keyboard&RDM=10244654324678");
header("Content-Type: image/gif");
echo $respuesta;
function cURLXt($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
$respuesta = curl_exec ($ch);
$error = curl_error($ch);
curl_close ($ch);
return $respuesta;
}
?>
El resultado final que muestra es "No se puede mostrar la imágen https://miweb.../" contiene errores", e intentado lo que encontre en Google, pero ninguno funciona :(
Gracias a Live HTTP Headers pude sacar esto:
https://miweblogin.com/registro/bypass?TRANMISION=image_keyboard&RDM=10244654324678
GET /registro/bypass?TRANMISION=image_keyboard&RDM=10244654324678 HTTP/1.1
Host: miweblogin.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: https://registro/bypass
Cookie: _ga=GA1.2.712420126.1402365779; JSESSIONID=0000K1q95LED_EDwLtcgvi1HiMe:161rcq47m
Connection: keep-alive
HTTP/1.1 200 OK
Date: Wed, 11 Jun 2014 06:11:06 GMT
Server: IBM_HTTP_Server
Cache-Control: no-cache
Expires: 0
Pragma: no-cache
Keep-Alive: timeout=10, max=99
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: image/gif
Content-Language: en-US
Descagar una imagen (Archivo Binario)
Tu puedes descargar archivos como imagenes, pdfs, psd, docs, zip usando curl. Google usa esta tecnica para mostrar sus imagenes.
<?php
// Ejemplo 3
$url = "http://most-security.com/foro/image.php?u=138&dateline=1397283113";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url); // URL para descargar la imagen
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // devuelve el contenido
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; rv:28.0) Gecko/20100101 Firefox/28.0"); // especificamos el navegador que usamos
curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1); // retorna esta transferencia, como contenido binario
$data = curl_exec($ch); // graba la imagen jpg y lo guarda en la variable $data
curl_close($ch); // cierra el recurso, y libera memoria del sistema
header("Content-type: image/jpeg"); // le indicamos en la cabecera lo que se muestra contiene imagenes
echo $data; // muestra el contenido
?>
(http://1.bp.blogspot.com/-XVUMICD9zL8/U1KX9d6emAI/AAAAAAAAB50/OL54lTMBVLY/s1600/imagenbinaria.png)
fuente: http://arthusu.blogspot.mx/2014/04/parte-2-curl-en-php.html
Quizas te sirva como ejemplo hago uso de curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1); pienso que es lo que te hace falta si es asi comentanos, saludos
No funciona, se esta intentando descargar una imagen GIF, el cual no llega a mostrarse, con Live Http Headers se puede saber con exactitud que es un GIF, pero sin enbargo no lo muestra :(