次のコードは、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 = curl_post($header, $data,$url);//需将内容显示修改为文件下载$filename = 'x.torrent';header("Content-Type: application/force-download");header("Content-Disposition: attachment; filename=$filename"); echo $ret;
として開かれます
$ret = curl_post($header, $data,$url);//需将内容显示修改为文件下载$filename = 'x.torrent';header("Content-Type: application/force-download");header("Content-Disposition: attachment; filename=$filename"); echo $ret;
xuzuning モデレーターと私が使用した BingoVictor による技術サポートに感謝します。 A ファイルを使用して要求されたコンテンツを取得してから、B ファイルを使用して A ファイルをダウンロードし、名前とサフィックスをカスタマイズします。
モデレータが提供する方法はより効率的で便利です。ありがとうございます