由于项目需要在微信推广,就在前段时间运营部反映链接时不时被封,页面显示:停止访问该页面!作为一个程序猿熊熊燃气,干脆就写了个接口。

接口获取思路

1、模拟微信浏览器
通过浏览器模拟微信可获取微信接口,登录微信网页版按F12获取接口,还没找到微信号就被封了。

2、抓包软件来获取腾讯接口
是我想的太简单了!

3、使用VB语言写出现被微信拦截判断
能检测微信域名,但是基于底层的封装,在检测过程中慢的怀疑人生。

4、微信公众号接口做判断
羊毛出在羊身上,那就试试用微信公众号,于是就拿刚注册完成的公众好进行获取,原理是这样的:将链接建成微信短链接 - 请求你的短链接 - 判断获取回来的页面,结果是可以检测的,注意:公众号接口调用限制了次数

5、直接趴取现成接口
直接趴取的接口,免费撸到的接口,再对接到我的程序上,就可以使用了!

接口地址: http://api.new.urlzt.com/api/vx
请求方式: GET/POST
请求示例: http://api.new.urlzt.com/api/vx?token=Token值(后台生成获取)&url=www.urlzt.com

 后台地址:https://dwz.cn/TzLUYNU2

微信检测被拦截原因分析

1、购买的域名有黑历史,曾经进过小黑屋,这类则是风险名单中的重点检测对象。

2、qq和微信是2种完全不同的检测机制,经常会出现一边被封另一边没事!

3、网站流量过大,腾讯针对流量过大的网站也是重点检测的对象!

4、诱导转发活动,即使是合法营销,也会被封。

5、 正文、标题、图片任意有一处有一点点违规信息,被系统抓取到也是会被封禁。

6、人工举报,这个也占有一定的比例。

7、有的是封链接不封域名,因为是腾讯合作的第三方平台,京东、拼多多、有赞等等。

8、 服务器 IP是一个很重点检测。

9、对于明显特征或复用度高的违规图片,系统是能识别的!


微信api对接程序PHP源码

打开Pycharm把代码复制上去,直接运行就行!

$url = "http://api.new.urlzt.com/api/vx";
$params = array(
'Token值' =>'appkey',//您申请的Token值
'url' =>'www.qq.com',//您需要检测的域名
);
 
$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;
}

Json返回值

  • code为200
 {
                "code":"200",
                "msg":"检测正常"
              }
  • code为201
 {
                "code":"201",
                "msg":"检测异常"
              }
  • code为500
 {
                "code":"500",
                "msg":"检测失败"
              }
  • code为-1
 {
                "code":"-1",
                "msg":"非法请求或api缺少参数"
              }