使用 PHP 将函数 GetHttpStatusCode 的所有代码合并到函数 gethttp 中可以这样修改:

function gethttp($url) {
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url); // 获取内容 url 
    curl_setopt($curl, CURLOPT_HEADER, 1); // 获取 http 头信息 
    curl_setopt($curl, CURLOPT_NOBODY, 1); // 不返回 html 的 body 信息 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 返回数据流,不直接输出 
    curl_setopt($curl, CURLOPT_TIMEOUT, 9); // 超时时长,单位秒 
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 自动跟踪重定向
    curl_exec($curl);
    $httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
    curl_close($curl);
    return 'HTTP:' . $httpCode;
}

// 测试代码
$url = $_GET['url'];
$status = gethttp($url);
echo $status;

通过将 GetHttpStatusCode 函数的代码整合到 gethttp 函数中,我们简化了代码结构,并提高了代码的可读性和可维护性。

优化后的 gethttp 函数工作原理:

  1. 使用 curl_init() 创建一个 cURL 资源。
  2. 使用 curl_setopt() 设置 cURL 选项,包括:
    • CURLOPT_URL:要请求的 URL。
    • CURLOPT_HEADER:获取 HTTP 头信息。
    • CURLOPT_NOBODY:不返回 HTML 的 body 信息。
    • CURLOPT_RETURNTRANSFER:返回数据流,不直接输出。
    • CURLOPT_TIMEOUT:设置超时时间。
    • CURLOPT_FOLLOWLOCATION:自动跟踪重定向。
  3. 使用 curl_exec() 执行 cURL 请求。
  4. 使用 curl_getinfo() 获取 HTTP 状态码。
  5. 使用 curl_close() 关闭 cURL 资源。
  6. 返回包含 HTTP 状态码的字符串 'HTTP:' . $httpCode。

注意:

  • 以上代码示例中使用 $_GET['url'] 获取 URL 参数,您可以根据实际情况修改。
  • 您可以根据需要调整 cURL 选项,例如设置代理、证书等。

通过这种方式,您可以轻松地获取目标 URL 的 HTTP 状态码,并将其用于各种应用程序和脚本中。

PHP 函数合并:将 GetHttpStatusCode 代码整合到 gethttp 函数

原文地址: https://www.cveoy.top/t/topic/bjOi 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录