Le contenu de cet article concerne la solution au problème selon lequel WeChat a cessé d'accéder à la page Web. Il a une certaine valeur de référence. J'espère que cela sera utile. toi. .
En raison de restrictions strictes sur WeChat, le nom de domaine a été accidentellement déterminé comme étant une incitation au partage. Par conséquent, l’entreprise a décidé en interne d’étudier une interface de requête de détection d’interception de nom de domaine WeChat stable, rapide et très précise.
L'équipe de développement a essayé de rechercher sur Google pendant un certain temps et a constaté que peu de codes sources et de principes étaient partagés. Nous avons tâtonné pendant quelques jours et avons finalement résolu le problème.
Code source
Le code source est open source sur GitHub Si vous êtes intéressé, vous pouvez le consulter.
Adresse :
Code source de détection de nom de domaine WeChat - gt9000k
Principe
Utilisez Wireshark pour capturer des paquets afin d'obtenir l'interface de requête d'interception de nom de domaine de WeChat.
Le nom de domaine a le statut suivant :
Le nom de domaine est accessible normalement (non bloqué par WeChat)
Le nom de domaine est bloqué par WeChat
Page Web officielle non WeChat, l'accès continu sera converti en mode d'aperçu mobile (l'ajout du nom de domaine au nom de domaine professionnel en arrière-plan du compte officiel peut généralement résoudre ce problème selon les plaintes des utilisateurs et la détection par Tencent). Safe Website Security Center, la page Web contient du contenu malveillant et frauduleux Afin de maintenir un environnement Internet vert, il a été Arrêtez d'accéder aux pages Web contenant des comportements induisant tels que l'incitation au partage et au suivi. environnement Internet vert, l'accès à la
Démo
Version PHP
<?php // 您的 API Token,在用户中心可查询到 $apiToken = "********************************"; // 需要检测的地址或域名 $reqUrl = "www.qq.com"; $url = sprintf("https://wx.horocn.com/api/v1/wxUrlCheck?api_token=%s&req_url=%s", $apiToken, $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)); }
# -*- coding: utf-8 -*- import json, urllib from urllib import urlencode def main(): # 您的 API Token,在用户中心可查询到 apiToken = "*********************" url = "https://wx.horocn.com/api/v1/wxUrlCheck" params = { "req_url" : "www.qq.com", #需要检测的地址或域名 "api_token" : apiToken, } 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()
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!