当前位置 主页 > 服务器问题 > Linux/apache问题 >

    微信域名检测接口调用演示步骤(含PHP、Python)

    栏目:Linux/apache问题 时间:2019-12-08 15:58

    微信域名检测接口是腾讯官方发布的api接口,调用检测接口即可返回域名在微信内的生存状态,如果已被拦截返回结果提示“域名被封”,如果未被拦截则返回结果提示“域名正常”。

    微信域名检测接口(官方)
    http://www.xiaocaoff.cn/weixin/check-api.php?url=http://www.baidu.com

    接口使用说明

    1、在线使用

    将api接口地址中的 “http://www.baidu.com” 换成你需要检测的域名,然后复制地址前往浏览器粘贴打开即可返回结果。

    2、接入接口

    如果觉得在线使用很麻烦,或者需要实时查询,将接口接入到服务器代码中,设置返回参数,即可实时检测域名在微信内的状态。

    PHP调用演示

    <?php
    // 需要检测的地址或域名
    
    $reqUrl = "http://www.baidu.com";
    
    $url = sprintf("http://www.xiaocaoff.cn/weixin/check-api.php?url=http://www.baidu.com",$reqUrl);
    
    $ch = curl_init($url);
    
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    
    curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
    
    $responseBody = curl_exec($ch);
    
    $responseArr = json_decode($responseBody, true);
    
    if (json_last_error() != JSON_ERROR_NONE) {
    
     echo "JSON 解析接口结果出错\n";
    
     return;
    
    }
    
    if (isset($responseArr['code']) && $responseArr['code'] == 0) {
    
     // 接口正确返回
    
     // $responseArr['data']['status'] 的取值范围:ok、blocked
    
     // ok 表示正常、blocked 表示被封
    
     printf("测试地址(%s)的状态为:%s\n", $reqUrl, $responseArr['data']['status']);
    
    } else {
    
     printf("接口异常:%s\n", var_export($responseArr, true));
    
    }
    
    

    Python调用演示

    def main():
    
     url = "http://www.xiaocaoff.cn/weixin/check-api.php"
    
     params = {
    
      "req_url" : "http://www.baidu.com", #需要检测的地址或域名
    
     }
    
     params = urlencode(params)
    
     f = urllib.urlopen("%s?%s" % (url, params))
    
     
    
     content = f.read()
    
     res = json.loads(content)
    
     if res:
    
      code = res["code"]
    
      if code == 0:
    
       #成功请求
    
       print res["result"]
    
      else:
    
       print "%s: %s" % (res["code"],res["msg"])
    
     else:
    
      print "request api error"
    
     
    
    if __name__ == '__main__':
    
     main()

    注意事项:

    1、调用api接口时,只需将 “http://www.baidu.com”替换成需要检测的域名即可。
    2、API接口支持域名中带参数,当域名中出现 & 符号时,要用 %26 代替(或者使用url编码格式),否则可能会导致返回结果不准确。
    3、域名必须要以http(s)://开头,否则可能会导致返回失败或者无法查询等问题。
    4、上文提到的API接口,本人使用大半年了,一直是比较稳定的,大家可以试试,觉得不错记得收藏一下,以免丢失找不到。

    常见问题:

    1、为什么接口返回结果与实际不符?
    答:域名的携带的特殊字符没有进行编码,导致参数没有生效;或者是因为待检测的域名没有以http(s)://开头。

    2、接口没有返回结果,是什么情况?
    答:有些时候接口返回数据有延迟,超时了则会返回失败,返回参数即为空;或者是调用方法不对,详情可见上文接口调用演示。

    3、接入接口,最快每秒检测几次?
    答:接口最高支持6次/秒无间断检测,2秒内返回结果。

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持IIS7站长之家。