欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

快速定位手机号码归属地

程序员文章站 2022-04-15 13:14:06
...
跳至
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4: */
// +----------------------------------------------------------------------+
// | PHP version 5                                                        |
// +----------------------------------------------------------------------+
// | Copyright (c) 1997-2004 The PHP Group                                |
// +----------------------------------------------------------------------+
// | This source file is subject to version 3.0 of the PHP license,       |
// | that is bundled with this package in the file LICENSE, and is        |
// | available through the world-wide-web at the following url:           |
// | http://www.php.net/license/3_0.txt.                                  |
// | If you did not receive a copy of the PHP license and are unable to   |
// | obtain it through the world-wide-web, please send a note to          |
// | license@php.net so we can mail you a copy immediately.               |
// +----------------------------------------------------------------------+
// | Author: Author|
// |         Copyright 2013-5-31                                 |
// +----------------------------------------------------------------------+
//

$mobile_home = new mobile_home();
$mobile_home->set_mobile(18606240180);
$data = $mobile_home->showji();//data是一个数组,可以获取到你想要的信息
//print_r($data);
/**
 * 
 * 手机归属地查询 
 * 
 * 通过curl扩展来实现查询手机号码归属地
 */
//定义一个class
class mobile_home {
    public $mobile;
    public function set_mobile($mobile) {
        $this->mobile = $mobile;
        $this->checklen();
    }
    //检测手机位数
    public function checklen() {
        if (strlen($this->mobile) != "11") {
        	die("手机号码有误");
        }
    }
    //调用官方接口
    public function showji() {
        $data = $this->get('http://api.showji.com/Locating/www.showji.com.aspx?m=' . $this->mobile . '&output=json', '', "http://api.showji.com");
        if (is_array($data)) {
            return $data;
        }
    }
    //通过curl扩展获取数据信息
    private function get($urll, $cookie = '', $referer = '') {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $urll);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_REFERER, $referer);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_COOKIE, $cookie);
        $content = curl_exec($ch);
        curl_close($ch);
        return json_decode($content, true);
    }
}
?>