Home  >  Article  >  Backend Development  >  How to Optimize HTTP Code Retrieval in PHP with cURL?

How to Optimize HTTP Code Retrieval in PHP with cURL?

Barbara Streisand
Barbara StreisandOriginal
2024-10-30 07:00:27848browse

How to Optimize HTTP Code Retrieval in PHP with cURL?

Achieving Optimal Performance for HTTP Code Retrieval in PHP with cURL

Utilizing cURL to ascertain website status poses a challenge when striving for performance optimization. While the provided code snippet serves its purpose, it encounters performance limitations by downloading the entire web page.

Streamlined Approach

To enhance performance, it's crucial to retrieve only the necessary information, namely the HTTP response code. This can be achieved by:

  • Verifying URL validity before proceeding.
  • Configuring cURL to fetch headers only, omitting the page content.
<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>

Detailed Execution

For comprehensive details on obtaining the URL status code, refer to:

  • How can I check if a URL exists via PHP?

Implementation

Putting it all together, the optimized code becomes:

<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>

By applying these techniques, the performance of your HTTP code retrieval process will see significant improvements.

The above is the detailed content of How to Optimize HTTP Code Retrieval in PHP with cURL?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn