比较 HTTP 的脚本 headers

script to compare HTTP headers

我正在寻找一种在脚本中编写函数以显示数组值之间存在哪些差异的方法

编辑: 添加了 PHP 代码(并简化了...)

Array
(
    [0] => HTTP/1.1 200 OK
    [Content-Type] => text/html; charset=UTF-8
    [Connection] => close
    [X-Powered-By] => PHP/5.6.30
    [X-Content-Type-Options] => nosniff
    [Server] => nginx

)
Array
(
    [0] => HTTP/1.1 200 OK
    [Server] => Apache/2.4.27 (Amazon) OpenSSL/1.0.1k-fips PHP/5.6.30
    [X-Powered-By] => PHP/5.6.30
    [Content-Length] => 11
    [Connection] => close
    [Content-Type] => text/html; charset=UTF-8
)

要在 PHP 中获得 headers,请使用 get_headers

您可以遍历第一个数组,并使用键将其与第二个数组进行比较。这将显示第一和第二之间的差异;要查看第二个中的差异,请在第一个中取消设置第二个的值,然后迭代第二个,并且第一个中不存在所有存在的内容。

foreach($ar1 as $key => $value) {
    if(empty($ar2[$key])) {
        $missing_keys[] = $key; 
    } elseif ($ar2[$key] != $value) {
        $non_matching_values[$key] = $value . '|<-deviation->|' . $ar2[$key];
    }
    unset($ar2[$key]);
}
foreach($ar2 as $key => $value) {
    $missing_keys[] = $key;
}
print_r($missing_keys);
print_r($non_matching_values);

演示:https://3v4l.org/JV40E