检查网站是否响应使用PHP

时间:2016-02-14 03:33:57

标签: php html css responsive-design

我想通过分析HTML代码来检查网站是否有响应。类似的问题已经被问到https://stackoverflow.com/questions/29937745/programmatically-checking-whether-a-website-is-responsive-or-not。它只检查标记<meta name="viewport" content="width=device-width">

但是,如果您查看网站的源代码,例如google.com,facebook.com,stackoverflow.com等,则他们没有此“viewport”标记。但他们也很敏感。他们正在根据用户代理更改HTML代码。例如,如果谷歌看到用户代理是iPhone,它会提供一个响应的不同HTML代码。

那么我如何检查这些类型的网站是否有响应?

1 个答案:

答案 0 :(得分:0)

感谢@Alexander O&#39; Mara的建议。这是一个小技巧。不是100%正确的方式。但是为所有网站工作。

<?php
    ini_set('user_agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9');
    $html = file_get_contents("http://php.net/");

    ini_set('user_agent', 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7');
    $html2 = file_get_contents("http://php.net/");

    similar_text(substr($html,0,1000),substr($html2,0,1000), $similariy);
    echo $similariy."<br>";


if($similariy<50)
        echo "It's responsive";
else
        echo "not responsive";
?>
基本上,它的作用是将HTML代码与计算机和移动设备进行比较。然后找到相似性。如果相似性较低,则意味着它们正在根据用户代理更改代码。当然,这应该针对响应式网站进行