以下是一个可以直接上传到 PHP 环境中使用的插件,用于获取指定 URL 的 HTTP 头信息:

php获取http头信息插件

<?php
$url = $_GET@['url'];

class HttpHeaders {
    private $url;

    public function __construct($url) {
        $this->url = $url;
    }

    public function getHeaders() {
        $ch = curl_init($this->url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_HEADER, true);
        $response = curl_exec($ch);
        curl_close($ch);

        // 分离头信息和内容
        list($headers, $body) = explode("

", $response, 2);
        
        // 解析头信息
        $headerLines = explode("
", $headers);
        $headers = [];
        foreach ($headerLines as $line) {
            $parts = explode(':', $line, 2);
            if (count($parts) < 2) {
                continue; // 忽略无效的头信息
            }
            $name = strtolower(trim($parts[0]));
            $value = trim($parts[1]);
            if (!array_key_exists($name, $headers)) {
                $headers[$name] = [$value];
            } else {
                $headers[$name][] = $value;
            }
        }

        return $headers;
    }
}

// 使用示例
$httpHeaders = new HttpHeaders($url);
$headers = $httpHeaders->getHeaders();

foreach ($headers as $name => $values) {
    echo $name . ': ' . implode(', ', $values) . PHP_EOL;
}
?>

将上述代码保存为 get_http_headers.php 文件,然后上传到您的 PHP 环境中。通过访问 http://127.0.0.1/xx.php?url=https://127.0.0.1/android-23494-game.html 来获取指定 URL 的 HTTP 头信息,并将其以键值对的形式输出到页面上。

请注意,为了安全起见,您可能需要对输入的 URL 进行验证和过滤,以防止恶意输入或攻击。

相关文章