Der Inhalt dieses Artikels befasst sich mit der Lösung des Problems, dass WeChat nicht mehr auf die Webseite zugreifen kann. Ich hoffe, dass er hilfreich ist Du. .
Aufgrund strenger Beschränkungen für WeChat wurde versehentlich festgestellt, dass der Domainname einen Anreiz zum Teilen darstellt. Aus diesem Grund hat das Unternehmen intern beschlossen, eine stabile, schnelle und hochpräzise Abfrageschnittstelle zur Erkennung von Abhörerkennungen für WeChat-Domänennamen zu untersuchen.
Das Entwicklungsteam versuchte eine Weile, auf Google zu suchen und stellte fest, dass nur wenige Quellcodes und Prinzipien geteilt wurden. Wir haben ein paar Tage herumgefummelt und schließlich das Problem gelöst.
Quellcode
Der Quellcode ist Open Source auf GitHub. Wenn Sie interessiert sind, können Sie ihn sich ansehen.
Adresse:
Quellcode zur Erkennung von WeChat-Domänennamen – gt9000k
Prinzip
Verwenden Sie Wireshark, um Pakete zu erfassen und die Abfrageschnittstelle zum Abfangen von Domänennamen von WeChat zu erhalten.
Der Domainname hat den folgenden Status:
Auf den Domainnamen kann normal zugegriffen werden (nicht durch WeChat blockiert)
Der Domainname wird durch WeChat blockiert
Offizielle Nicht-WeChat-Webseite. Der fortgesetzte Zugriff wird in den mobilen Vorschaumodus umgewandelt (das Hinzufügen des Domänennamens zum Geschäftsdomänennamen im Hintergrund des offiziellen Kontos kann dieses Problem laut Benutzerbeschwerden und Erkennung durch Tencent im Allgemeinen lösen). Das Safe Website Security Center enthält schädliche und betrügerische Inhalte. Um eine umweltfreundliche Internetumgebung aufrechtzuerhalten, wurde der Zugriff auf Webseiten, die zum Teilen und Folgen anregen, gestoppt grüne Internetumgebung, Zugriff auf
Demo
PHP-Version
<?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()
Das obige ist der detaillierte Inhalt vonWeChat hat den Zugriff auf diese Webseite eingestellt.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!