He conseguido que me funcione en local, pero al probarlo en el servidor web no me funciona, me sigue devolviendo un error cómo si no estuviera logeado. Revisaré los parametros del servidor haber si encuentro el error.
Aquí está el codigo:
Código PHP:
file_put_contents('cookie.txt', '');
$url = "http://www.web.com/login";
$url2 = "www.web.com/dat.CSV";
$username = "user";
$password = "password";
$fields = array("Email" => $username, "Passwd" => $password);
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
$fields_string = substr(trim($fields_string),0,-1);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
$html = curl_exec($ch);
curl_setopt($ch, CURLOPT_URL, $url2);
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$html = curl_exec($ch);
echo $html;