Ver Mensaje Individual
  #6 (permalink)  
Antiguo 22/08/2009, 09:33
Avatar de cluster28
cluster28
 
Fecha de Ingreso: enero-2008
Ubicación: Donostia - San Sebastián
Mensajes: 756
Antigüedad: 18 años, 9 meses
Puntos: 32
Respuesta: Descargando un fichero con CURL lo guarda vacío

Ya está resuelto, faltaban estas dos líneas (que no me quedan muy claras para qué sirven pero bueno):

Código PHP:
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
Para el que le interese de esta manera se puede acceder a un servidor seguro y descargar un fichero:

Código PHP:
$cookie_file_path = "c:\cookiefile";//o lo que sea
$LOGINURL = "https://www.dominio.es/loquesea";
$agent = "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)";
$POSTFIELDS = 'user=usuario&pass=password';//o lo que sea

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$LOGINURL);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$POSTFIELDS);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
$result = curl_exec ($ch);
curl_close ($ch);

unset(
$ch);

$url = 'https://www.dominio.es/Files/ficheroquesea';
$save_to='c:\destino';
 
$g=$save_to.basename($url);
echo 
$g;
$ch=curl_init($url);
$fp=fopen ($g, "w");
curl_setopt ($ch, CURLOPT_FILE, $fp);
curl_setopt ($ch, CURLOPT_HEADER ,0);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,60);
curl_exec ($ch);
curl_close ($ch);
fclose($fp);