Hola,
a través de CURL accedo a una web que contiene url de descarga de ficheros pdf. Cuando clicas sobre el icono de descarga se abre una nueva pestaña en el navegador donde se visualiza el fichero pdf.
Por ejemplo clicó sobre el icono de la factura 2007814 y se abre una nueva pestaña con el siguiente link:
$url_file =
https://www.energiaelectrica/[..]/imprimir_factura.jsp&factura=2007814
Si ese link lo copio, abro de nuevo el navegador y lo copio en la dirección se visualiza el pdf correctamente.
El problema es que quiero descargar el fichero pdf en mi ordenador para lo que uso el siguiente codigo.
Código PHP:
$header_pdf= array( 'Content-Type: application/pdf;charset=UTF-8');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,false);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header_pdf);
curl_setopt($ch, CURLOPT_COOKIE,"JSESSIONID=yGkKoMU");
curl_setopt($ch, CURLOPT_USERAGENT,"Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL,$url_file);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$data = curl_exec ($ch);
$name=$contrato.".pdf";
$destination = "Descargas/".$name;
$file = fopen($destination, "w+");
fputs($file, $data);
fclose($file);
Pero se me descarga un fichero de tipo pdf pero dañado, contiene código html de la pagina.
Un saludo,