Maison > développement back-end > tutoriel php > 求帮忙修改个php curl模拟post请求内容后并下载文件

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

WBOY
Libérer: 2016-06-23 13:26:29
original
882 Les gens l'ont consulté

下面代码使用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;
Copier après la connexion


回复讨论(解决方案)

不要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;
Copier après la connexion
Copier après la connexion
下载的 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;
Copier après la connexion
Copier après la connexion
下载的 x.torrent 用迅雷打开为

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

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal