PHP Curl下载返回零字节文件
我正在尝试从远程位置下载文件。我使用PHPPHP Curl下载返回零字节文件,php,curl,Php,Curl,我正在尝试从远程位置下载文件。我使用PHPcurl来实现这一点,但代码总是返回零字节文件(即使ECHO也不返回任何内容),当我访问浏览器上的URL时,它会提示下载文件。为什么代码不使用curl下载文件 如果标题很重要,有没有办法自动设置标题 function get_data($url) { $ch = curl_init(); $timeout = 5; curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CUR
curl
来实现这一点,但代码总是返回零字节文件(即使ECHO也不返回任何内容),当我访问浏览器上的URL时,它会提示下载文件。为什么代码不使用curl下载文件
如果标题很重要,有没有办法自动设置标题
function get_data($url)
{
$ch = curl_init();
$timeout = 5;
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch,CURLOPT_REFERER, 'https://torcache.net/');
curl_setopt($ch,CURLOPT_ENCODING,"gzip");
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
$result = get_data($url);
我要下载的文件具有以下标题:
Content-Type application/x-bittorrent
Cache-Control must-revalidate, post-check=0, pre-check=0
Content-Disposition attachment; filename="1483EC6A5EB53FC27693F848E9E28175577F6743.torrent"
Connection close
Content-Length 153812
注意:我必须添加
curl_setopt($ch,CURLOPT_ENCODING,“gzip”)代码>您需要告诉CURL按照浏览器重新定向(本质上就是这样)
curl\u setopt($ch,CURLOPT\u FOLLOWLOCATION,true)代码>
在那之后,你可以决定如何处理它,但最好还是把它保存到一个文件中。嘿,国家安全局/联邦调查局-在这里!