Home > Backend Development > PHP Tutorial > 求帮忙修改个php curl模拟post请求内容后并下载文件

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

WBOY
Release: 2016-06-23 13:26:29
Original
861 people have browsed it

下面代码使用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;
Copy after login


回复讨论(解决方案)

不要echo $ret;
把$ret写入文件中去。保存起来

不要echo $ret;
把$ret写入文件中去。保存起来



试过使用
header("Content-Type: application/force-download");
$ret;
下载的是该PHP空白文件
使用
$filename=$ret;
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=".basename($filename));
readfile($filename);
则下载一堆乱码的PHP文件

下载的文件名自己定义成.torrent的后缀 这个种子是 5.Flights.Up.2014.LIMITED.720p.BRRip.XviD.AC3-RARBG?

$ret = curl_post($header, $data,$url);//需将内容显示修改为文件下载$filename = 'x.torrent';header("Content-Type: application/force-download");header("Content-Disposition: attachment; filename=$filename");  echo $ret;
Copy after login
Copy after login
下载的 x.torrent 用迅雷打开为

$ret = curl_post($header, $data,$url);//需将内容显示修改为文件下载$filename = 'x.torrent';header("Content-Type: application/force-download");header("Content-Disposition: attachment; filename=$filename");  echo $ret;
Copy after login
Copy after login
下载的 x.torrent 用迅雷打开为

非常感谢xuzuning版主和BingoVictor提供的技术支持,我之前利用A文件获得请求内容后再使用B文件下载A文件并自定义命名和后缀。
而版主提供的方法效率更高,更方便。谢谢了

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template