php - 仅使用 curl 和 php 获取 http 状态代码

标签 php curl

我试图在变量 $response 中仅获取三位数的 http 状态代码编号,仅此而已。例如 302、404、301 等等。我用我的代码注意到的另一个观察是在一些网站上,例如谷歌,它正在下载似乎是 body 一部分的东西,这是对带宽的巨大浪费并且速度很慢。

<?php

$URL  = 'http://www.google.com';
$curlHandle = curl_init();
curl_setopt($curlHandle, CURLOPT_URL, $URL);
curl_setopt($curlHandle, CURLOPT_HEADER, true);
$response = curl_exec($curlHandle);
echo $response;  
?>

最佳答案

您可以设置 CURLOPT_NOBODY选择不接收尸体。然后你可以通过 curl_getinfo 获取状态码.

像这样:

<?php

$URL  = 'http://www.google.com';
$curlHandle = curl_init();
curl_setopt($curlHandle, CURLOPT_URL, $URL);
curl_setopt($curlHandle, CURLOPT_HEADER, true);
curl_setopt($curlHandle, CURLOPT_NOBODY  , true);  // we don't need body
curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, true);
curl_exec($curlHandle);
$response = curl_getinfo($curlHandle, CURLINFO_HTTP_CODE);
curl_close($curlHandle); // Don't forget to close the connection

echo $response,""; 
?>

关于php - 仅使用 curl 和 php 获取 http 状态代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33667482/

相关文章:

php - Symfony 3 连接注释路由

php - 无法获取未序列化的数据

php - cURL 获取带有 utf-8 BOM 的响应

php - 如何使用 curl 和 PHP 设置自定义请求 header 键?

javascript - 将 javascript Http Upload 脚本转换为 Curl 命令

linux - wget .vs curl 使用 linux

php - Docker 中的 Apache 不会提供站点

php - 在 PHP 中调试 SQL 语法错误

PHP-FFMPeg 将视频转换两次

php - 在 PHP 中使用 curl 上传失败