這篇文章將為大家詳細講解有關如何解決微信已停止訪問該網頁的問題,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
由于微信限制比較嚴格,域名一不小心就被判定是誘導分享的。所以,公司內部決定調研一套穩定、快速、正確率高的微信域名攔截檢測查詢接口。
開發組嘗試谷歌搜索了一段時間,發現很少把源碼及原理分享出來的。后來我們摸索了幾天,終于解決這個問題。
源碼
源碼開源在 GitHub,有興趣的可以了解下。
地址:
微信域名檢測源碼 - gt9000k
原理
使用 Wireshark 抓包獲取微信的域名攔截查詢接口。
域名有如下幾種狀態:
域名能正常訪問(未被微信攔截)
域名被微信攔截
非微信官方網頁,繼續訪問將轉換成手機預覽模式(在公眾號后臺把域名添加到業務域名一般能解決這個問題)據用戶投訴及騰訊安全網址安全中心檢測,該網頁包含惡意欺詐內容,為維護綠色上網環境,已停止訪問網頁包含誘導分享、關注等誘導行為內容,被多人投訴,為維護綠色上網環境,已停止訪問
Demo
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()
關于“如何解決微信已停止訪問該網頁的問題”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。