当前位置: 代码迷 >> PHP >> 求帮忙修改个php curl模拟post请求内容后并下载文件解决方案
  详细解决方案

求帮忙修改个php curl模拟post请求内容后并下载文件解决方案

热度:38   发布时间:2016-04-28 16:59:48.0
求帮忙修改个php curl模拟post请求内容后并下载文件
下面代码使用curl模拟post请求链接后直接显示出了文件内容,如何修改成不显示内容而直接下载请求到的.torrent格式文件呢

function curl_post($header,$data,$url)
{
 $ch = curl_init();
 $res= curl_setopt ($ch, CURLOPT_URL,$url);
 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
 curl_setopt ($ch, CURLOPT_HEADER, 0);
 curl_setopt($ch, CURLOPT_POST, 1);
 curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
 curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt($ch,CURLOPT_HTTPHEADER,$header);
 $result = curl_exec ($ch);
 curl_close($ch);
 if ($result == NULL) {
  return 0;
 }
 return $result;
}  
 $url = 'http://www.bttiantang.com/download4.php' ;  
 $header = array("Host:www.bttiantang.com",
  "Content-Type:application/x-www-form-urlencoded",
  'User-Agent: Mozilla/4.0 (compatible; MSIE .0; Windows NT 6.1; Trident/4.0; SLCC2;)'); 
$data = 'action=download&id=26881&uhash=eecf3d3071a7b672c314bc39';
$ret = curl_post($header, $data,$url);
//需将内容显示修改为文件下载
echo $ret;

------解决思路----------------------
不要echo $ret;
把$ret写入文件中去。保存起来
------解决思路----------------------
$ret = curl_post($header, $data,$url);

//需将内容显示修改为文件下载
$filename = 'x.torrent';
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=$filename");  

echo $ret;
下载的 x.torrent 用迅雷打开为
  相关解决方案