ホームページ >バックエンド開発 >PHPチュートリアル >ポストリクエストのコンテンツをシミュレートし、ファイルをダウンロードするためにphpのcurlを変更するのを手伝ってください。

ポストリクエストのコンテンツをシミュレートし、ファイルをダウンロードするためにphpのcurlを変更するのを手伝ってください。

WBOY
WBOYオリジナル
2016-06-23 13:26:29883ブラウズ

次のコードは、curl を使用して投稿リクエストのリンクをシミュレートし、ファイルのコンテンツを直接表示します。

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;


ディスカッションに返信する (解決策) )

エコーなし $ret;

$ret をファイルに書き込みます。保存

$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;
によってダウンロードされた x.torrent は Thunder で

として開かれます

$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 は Thunder として

として開かれます

xuzuning モデレーターと私が使用した BingoVictor による技術サポートに感謝します。 A ファイルを使用して要求されたコンテンツを取得してから、B ファイルを使用して A ファイルをダウンロードし、名前とサフィックスをカスタマイズします。
モデレータが提供する方法はより効率的で便利です。ありがとうございます

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。