限制PHP CURL數據大小

限制PHP CURL數據大小


因爬蟲工作需要檢測多個鏈接的有效性,程序分析出來的鏈接有時會有exe、dmg等副檔名,加了一個個副檔名還是防不勝防,就想加個頁面數據大小的限制,僅取網頁內容而非檔案下載,網上搜索後發現以下方法:

<?php
curl_setopt($cURL_Handle, CURLOPT_NOPROGRESS, false);
curl_setopt($cURL_Handle, CURLOPT_PROGRESSFUNCTION, function(
    $DownloadSize, $Downloaded, $UploadSize, $Uploaded
){
    // 已下載的檔案大小超過1K(自訂)責返回非零中斷CURL
    return ($Downloaded > (1 * 1024)) ? 1 : 0;
});
?>

需要注意的是:根據PHP文檔(https://www.php.net/manual/zh/function.curl-setopt.php)所述,CURLOPT_NOPROGRESS必需設爲false,CURLOPT_PROGRESSFUNCTION纔會有效。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章