自动获取ICP备案号API接口源码

    首先先创建个ICP北岸查询接口

    代码如下:

    <?php
    header("Access-Control-Allow-Origin:*");
    header("Access-Control-Allow-Methods:GET");
    header("Access-Control-Allow-Headers:x-requested-with,content-type");
    header("Content-Type:text/html,application/json; charset=utf-8");
    if ($_GET['domain']) {
        $domain = getTopHost($_GET['domain']);
    } else {
        exit("缺少参数");
    }
    $timeStamp = time();
    $authKey = md5("testtest" . $timeStamp);
    $token = json_decode(curl_post("auth", "authKey=$authKey&timeStamp=$timeStamp", "application/x-www-form-urlencoded;charset=UTF-8", "0"));
    $token = $token->params->bussiness;
    $query = json_decode(curl_post("icpAbbreviateInfo/queryByCondition", '{"pageNum":"","pageSize":"","unitName":"' . $domain . '"}', "application/json;charset=UTF-8", $token));
    $query = json_encode($query->params->list);
    $query = str_replace("[", "", $query);
    $query = json_decode(str_replace("]", "", $query));
    $icp = $query->serviceLicence;
    $unitName = $query->unitName;
    $natureName = $query->natureName;
    if (!$token) {
        $icp = "服务器请求频率过高,请稍后再试";
        $msg = "查询失败";
        $code = "0";
    } elseif (!$icp) {
        $icp = "未北岸";
        $msg = "查询成功";
        $code = "1";
    } else {
        $msg = "查询成功";
        $code = "1";
    }
    $json = array(
        'icp' => $icp,
        'unitName' => $unitName,
        'natureName' => $natureName,
        'msg' => $msg,
        'result' => $code
    );
    print_r(json_encode($json, JSON_UNESCAPED_UNICODE));
    
    function curl_post($url, $data, $Content, $token) {
        $ip = "101.".mt_rand(1,255).".".mt_rand(1,255).".".mt_rand(1,255);
        $ch = curl_init();
        $headers = array(
            "Content-Type: $Content",
            "Origin: https://beian.miit.gov.cn/",
            "Referer: https://beian.miit.gov.cn/",
            "token: $token",
            "User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36",
            "CLIENT-IP: $ip",
            "X-FORWARDED-FOR: $ip"
        );
        curl_setopt($ch, CURLOPT_URL, "https://hlwicpfwc.miit.gov.cn/icpproject_query/api/" . $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($ch, CURLOPT_TIMEOUT, 10);
        $content = curl_exec($ch);
        curl_close($ch);
        return $content;
    }
    function getTopHost($url) {
        if (stristr($url, "http") === false) {
            $url = "http://" . $url;
        }
        $url = strtolower($url);
        $hosts = parse_url($url);
        $host = $hosts['host'];
        $data = explode('.', $host);
        $n = count($data);
        $preg = '/[\w].+\.(com|net|org|gov|edu)\.cn$/';
        $pregip = '/((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}/';
        if (($n > 2) && preg_match($preg, $host)) {
            $host = $data[$n - 3] . '.' . $data[$n - 2] . '.' . $data[$n - 1];
        } elseif (preg_match($pregip, $host)) {
            $host = $host;
        } else {
            $host = $data[$n - 2] . '.' . $data[$n - 1];
        }
        return $host;
    }

    接下来创建自动获取ICP北岸号接口代码

    代码如下:

    <?php
    header("Content-type: application/json; charset=utf-8");
    
    // echo ok(get_Domain());
    echo "{document.write('" . ok(get_Domain()) ."');}";
    function ok($url){
        $url = '这里文字替换成icp北岸查询接口地址?domain=' . $url;
        $data = curl_get($url);
        $data = json_decode($data, true);
        $info = $data['icp'];
        return $info ;
    }
    
    function get_Domain()
    {
        $scriptpath = str_replace('\\', '/', $_SERVER['SCRIPT_NAME']);
        $sitepath = substr($scriptpath, 0, strrpos($scriptpath, '/'));
        $siteurl = ($_SERVER['SERVER_PORT'] == '443' ) . $_SERVER['HTTP_REFERER'] . $sitepath . '/';
        return $siteurl;
    }
    
    function curl_get($url)
    {
        $ch = curl_init($url);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Linux; U; Android 4.4.1; zh-cn; R815T Build/JOP40D) AppleWebKit/533.1 (KHTML, like Gecko)Version/4.0 MQQBrowser/4.5 Mobile Safari/533.1');
        curl_setopt($ch, CURLOPT_TIMEOUT, 30);
        $content = curl_exec($ch);
        curl_close($ch);
        return ($content);
    }

    调用代码示例:

    <a href="http://beian.miit.gov.cn" target="_blank"><script src="这里填入接口地址"></script></a>
    

    把调用代码放入你网站北岸号填写位置就可以根据当前网站域名自动获取北岸号并显示,方便了域名比较多又懒得一个个查询北岸号的站长。

    自动获取ICP备案号API接口源码


    万人迷游戏
    匿名

    发表评论

    匿名网友 填写信息

    :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: