利用 cURL 確定網站狀態在努力優化效能時提出了挑戰。雖然提供的程式碼片段達到了其目的,但下載整個網頁會遇到效能限制。
為了提高效能,僅檢索必要的資訊(即 HTTP)至關重要回應碼。這可以透過以下方式實現:
<code class="php">if(!$url || !is_string($url) || ! preg_match('/^http(s)?:\/\/[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(\/.*)?$/i', $url)){ return false; } curl_setopt($ch, CURLOPT_HEADER , true); // we want headers curl_setopt($ch, CURLOPT_NOBODY , true); // we don't need body</code>
獲取URL狀態碼的詳細信息,請參考:
將它們放在一起,最佳化後的程式碼變成:
<code class="php">$url = 'http://www.example.com'; $ch = curl_init($url); curl_setopt($ch, CURLOPT_HEADER, true); // we want headers curl_setopt($ch, CURLOPT_NOBODY, true); // we don't need body curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_TIMEOUT,10); $output = curl_exec($ch); $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo 'HTTP code: ' . $httpcode;</code>
透過應用這些技術,HTTP 程式碼檢索過程的效能將得到顯著改進。
以上是如何使用 cURL 最佳化 PHP 中的 HTTP 程式碼檢索?的詳細內容。更多資訊請關注PHP中文網其他相關文章!