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

5年以前  |  阅读数:366 次  |  编程语言:PHP 

下面代码使用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请求内容后并下载文件的解决思路,希望大家喜欢,请持续关注本站,本站每天都有新的内容更新,谢谢。!

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例