怎么获取手机端的页面信息

前天修改了ECSTORE商城的转向,实现根据上网终端,自动将访问地址转向正确的链接,简单的说就是给你一个PC端的链接,你用手机访问,就能自动切换到手机端的链接上。

然后,我擦就出现了今天这个问题,之前用file_get_contents获取WAP端的内容并获取手张图片的代码忽然不能工作了。

经过排查,手机端调用的时候全部都访问PC端的页面了,我擦,数据不正确是正常的。

那么,怎么处理?

下面就是增加手机端访问的代码,其实很简单的。

参考网址:php 模拟手机访问页面并抓取数据

其实就是偷懒,去那边拿了一个手机头部定义哈~感激

// 定义常用的变量
$timeout = 60;
 $url = 'http://www.shanmai.cn/wap/article-1364.html';
 $header = array(
 'User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.3 (KHTML, like Gecko) Version/8.0 Mobile/12A4345d Safari/600.1.4'
 ); 
 
 // 方法 1.用curl
 $ch = curl_init(); 
 curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
 curl_setopt($ch, CURLOPT_URL, $url);
 $contents = curl_exec($ch);
 print_r($contents);
 
 // 方法 2.用file_get_contents
 $opts = array(
 'http'=>array(
 'method'=>'GET',
 'timeout'=>$timeout,
 'header'=>$header
 )
 );
 $cx = stream_context_create($opts);
 $contents = file_get_contents( $url, false, $cx );
 print_r($contents);

当然,还有其他方法,如fsockopen等,不过不常用就不写了。

参考链接:

 

 

发表评论