怎么样通过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 用迅雷打开为
本文给大家分享了求帮忙修改个php curl模拟post请求内容后并下载文件的解决思路,希望大家喜欢,请持续关注本站,本站每天都有新的内容更新,谢谢。!
本文地址:http://www.45fan.com/bcdm/60341.html