PHP 函数合并:将 GetHttpStatusCode 代码整合到 gethttp 函数
使用 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 函数工作原理:
- 使用 curl_init() 创建一个 cURL 资源。
- 使用 curl_setopt() 设置 cURL 选项,包括:
- CURLOPT_URL:要请求的 URL。
- CURLOPT_HEADER:获取 HTTP 头信息。
- CURLOPT_NOBODY:不返回 HTML 的 body 信息。
- CURLOPT_RETURNTRANSFER:返回数据流,不直接输出。
- CURLOPT_TIMEOUT:设置超时时间。
- CURLOPT_FOLLOWLOCATION:自动跟踪重定向。
- 使用 curl_exec() 执行 cURL 请求。
- 使用 curl_getinfo() 获取 HTTP 状态码。
- 使用 curl_close() 关闭 cURL 资源。
- 返回包含 HTTP 状态码的字符串 'HTTP:' . $httpCode。
注意:
- 以上代码示例中使用 $_GET['url'] 获取 URL 参数,您可以根据实际情况修改。
- 您可以根据需要调整 cURL 选项,例如设置代理、证书等。
通过这种方式,您可以轻松地获取目标 URL 的 HTTP 状态码,并将其用于各种应用程序和脚本中。
原文地址: https://www.cveoy.top/t/topic/bjOi 著作权归作者所有。请勿转载和采集!