如何检查网站的移动版本?

时间:2013-10-01 10:41:54

标签: php dom curl

我想检查特定网站是否存在移动版本。据我了解,我们无法确定每个网站是否都有位于http://m.example.com/的移动版本,因此我正在通过CURL()请求进行测试。我是这样做的:

* I send mobile browser headers in curl request, this returns contents of 
the returning URL. 
* If it has a mobile version, then it would return contents of a mobile version site.
* I then check if the content includes @media keyword, if it exists then I assume it has a mobile version.

问题是,如果它的css从外部加载,那么我将不得不进一步向CSS文件发送CURL()请求,这将使它更慢。我的问题是否有任何特定的解决方案,或者我可以再推动这个过程吗?

任何帮助将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:3)

你的方法的问题,有点像XY Problem,是因为它简直不可靠。

该网站为移动网站提供了多种选择,其中包括:

1。使用CSS媒体查询

这种方法的问题是双重的。对于初学者,您必须扫描每个CSS文件和<link>声明。其次,该站点可以使用JavaScript动态地将样式表引入页面,使用cURL永远不会看到它,因为它缺少JavaScript解析器。

2。浏览器使用(客户端)JavaScript进行嗅探,或使用JavaScript进行屏幕宽度嗅探

同样,这个JavaScript永远不会被执行,所以你永远不会看到那个结果。

3。浏览器使用服务器端代码嗅探

好吧,我猜你可以尝试在你的cURL请求中使用移动用户代理字符串,看看它在哪里,但所有这些方法都是hackish和不可靠。

4。该页面可以从一开始就是移动友好的(信用到@Quentin)

正如@Quentin在评论中提到的那样,该页面可以是移动友好的,无需在客户端/服务器端进行任何额外检查(例如,没有媒体查询的响应式设计,只需使用基于百分比的值)。