微信域名检测接口原理,微信js接口域名该如何实现

需求来源

最近公司的公众号域名被封了,原因是公司网站被黑后上传了一个不符合微信规范的网页。所以就进入了微信域名解封的流程。

于是我上度娘搜索微信域名解封,发现了很多微信域名检测的网站,还有各种防封api。但是本人做微信公众号的时候却没有发现微信公众号有这个API,奇怪了,这帮牛人是怎么实现的呢?作为一个资深程序猿,彻底激发了我的探索欲望。

首先我重新检查了微信服务号的API,最终没有发现问题。网上有人说域名有没有被封用微信访问一下域名就知道。但是我对安卓不熟悉啊。于是我研究起了微信的电脑端,到底是不是也可以检测?最终的结果是可以,特写这篇文章分享给需要的朋友。

首先:我们用到微信域名检测接口,推荐使用 r8date ,独享大带宽服务器,1s出结果,亲测效果很好。

然后:我们光有微信域名检测接口还不行,因为检测接口只能检测你的域名是否被拦截了,我想我们最需要的还是域名不被拦截,所以我们还需要给我们的域名加防封技术,推荐使用 366tool ,分布式架构,多级备份容灾备份节点,节点切换热更新,高达99.95%服务可用性和99.99%的数据可靠性,防拦截效果还不错。

最后:上文所述的都是在你的域名没有被拦截的情况下,如果已经被拦截了又不想换域名怎么办呢?那就用微信跳转技术:

Mindjump-微信跳转api接口

366API-微信内下载app接口

大象跳转-在线恢复被封域名正常访问

代码分享

$url = "http://api.r8date.cn";
$params = array(
'appkey' =>'appkey',//您申请的APPKEY
'url' =>'www.r8date.cn',//需要查询的网站
);

$paramstring = http_build_query($params);
$content = monkeyCurl($url, $paramstring);
$result = json_decode($content, true);
if($result) {
    var_dump($result);
}else {
    //请求异常
}

/**
    * 请求接口返回内容
    * @param    string $url [请求的URL地址]
    * @param    string $params [请求的参数]
    * @param    int $ipost [是否采用POST形式]
    * @return    string
*/
function monkeyCurl($url, $params = false, $ispost = 0)
{
    $httpInfo = array();
    $ch = curl_init();

    curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);
    curl_setopt($ch, CURLOPT_TIMEOUT, 60);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    if ($ispost) {
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
        curl_setopt($ch, CURLOPT_URL, $url);
    }else {
        if ($params) {
            curl_setopt($ch, CURLOPT_URL, $url.'?'.$params);
        } else {
            curl_setopt($ch, CURLOPT_URL, $url);
        }
    }

    $response = curl_exec($ch);
        if ($response === FALSE) {
        //echo "cURL Error: " . curl_error($ch);
        return false;
    }

    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    $httpInfo = array_merge($httpInfo, curl_getinfo($ch));
    curl_close($ch);
    return $response;
}

 

一、那么下面的事情就是使用抓包工具了

1、 使用fiddler 

2、wireshark https 抓包

当然抓包提取出来的都是乱码。因为微信是使用https通信的,不过我们有抓包神器wireshark。

 

二、下面就是怎么配置https抓包了

https抓包教程

1、配置环境变量SSLKEYLOGFILE

环境变量的配置方法: 系统->高级系统设置->高级->环境变量->新建。

变量名设置:SSLKEYLOGFILE

变量值我这里设置: D:sslkeylog.log

2、Wireshark配置

版本号:V 2.4.3 中文版

配置路径:编辑->首选项->协议(Protocols)->ssl

设置(Pre)-Master-Serect Log File 为环境变量SSLKEYLOGFILE 的值。

重启微信和Wireshark

重新打开Wireshark后就多了一个标签《Decrypted SSL Data》,点击之后你就可以如下图所示的看到已经解密的TLS数据包的相信信息了。

然后大家懂得,你就能得到需要的东西了。

你可能感兴趣的:(域名检测功能,wireshark配置,域名防封检测教程,nodejs,php)