http://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=15850781443

直接用file_get_contents 返回结果是这样的

Plain Text code?

1
2
3
4
5
6
7
8
9
__GetZoneResult_ = {
    mts:'1585078',
    province:'江苏',
    catName:'中国移动',
    telString:'15850781443',
    areaVid:'30511',
    ispVid:'3236139',
    carrier:'江苏移动'
}



应该采用什么方式使用这个接口?

如果直接使用这个file_get_contents  得到的结果应该如何处理 才能得到 归属地?


方法一

$content = file_get_contents('http://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=18877217520');
$content = iconv('gb2312', 'utf-8', $content);
        
preg_match_all("/(\w+):'([^']+)/", $content, $m);
$a = array_combine($m[1], $m[2]);
dump($a);exit;

方法二
$sms = array('province'=>'', 'supplier'=>'');    //初始化变量 
        //根据淘宝的数据库调用返回值 
        $url = "http://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=".$mobile; 
        $content = file_get_contents($url); 
        $content = iconv('gb2312', 'utf-8', $content);
        // var_dump($content);
        $sms['province'] = substr($content, "56", "6");  //截取字符串 
        $sms['supplier'] = substr($content, "85", "6"); 
        if ($sms['supplier']!='移动' && $sms['supplier']!='联通' && $sms['supplier']!='电信' ) {
            $sms['province'] = substr($content, "56", "9");
            $sms['supplier'] = substr($content, "88", "6");
        }
        return $sms;