我正在尝试从以下链接下载文件 Desired File
当我手动下载它时,它会根据需要有一个 close.lis 文件。但是当我使用以下 curl 代码时,它会返回一个 924 字节的文件。如果我尝试在计算机上提取它,它说文件已损坏。但是,如果我在我的 cuteFTP 程序中单击编辑,它会返回以下输出
函数 setCookie(c_name, value, expiredays) { var exdate = new Date(); exdate.setDate(exdate.getDate()+expiredays); document.cookie = c_name + "=" + escape(value) + ((expiredays==null) ? "" : ";expires=" + exdate.toGMTString()) + ";path=/"; } 函数 getHostUri() { var loc = document.location; 返回 loc.toString(); } setCookie('YPF8827340282Jdskjhfiw_928937459182JAX666', '69.167.137.119', 10); setCookie('DOAReferrer', document.referrer, 10); location.href = getHostUri();此站点需要启用 JavaScript 和 Cookie。请更改您的浏览器设置或升级您的浏览器。
我的卷曲代码如下
$url = "http://www.kse.com.pk/scripts/communicator.php?f=20130812.lis.Z&l=Hd";
$path = "data1/20130812.lis.Z";
$fp = fopen($path, 'w');
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_FILE, $fp);
$data = curl_exec($ch);
curl_close($ch);
fclose($fp);
后来我也尝试获取cookie并运行代码但没有成功。保存时的 cookie 文件没有数据。
$path = "data1/20130812.lis.Z";
$fp = fopen($path, 'w');
$ckfile = tempnam ("./", "CURLCOOKIE");
$ch = curl_init ("http://www.kse.com.pk/scripts/communicator.php?f=20130812.lis.Z&l=Hd");
curl_setopt ($ch, CURLOPT_COOKIEJAR, $ckfile);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec ($ch);
$ch = curl_init("http://www.kse.com.pk/scripts/communicator.php?f=20130812.lis.Z");
curl_setopt ($ch, CURLOPT_COOKIEFILE, $ckfile);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FILE, $fp);
$output = curl_exec($ch);
curl_close($ch);
我需要把上面的下载放在 cronjob 上,以便它把文件保存在服务器上,我可以做剩下的处理