您好,登錄后才能下訂單哦!
本篇內容介紹了“php curl模擬post請求內容后并下載文件的解決思路”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
下面代碼使用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請求內容后并下載文件的解決思路”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。