時間:2023-11-20 12:48:01 | 來源:網(wǎng)站運營
時間:2023-11-20 12:48:01 來源:網(wǎng)站運營
如何檢測域名或網(wǎng)址被微信停止訪問了?:前一陣子,我們公司剛經歷了活動域名被微信封禁,后來我們進行了深刻的復盤。access_token是公眾號的全局唯一接口調用憑據(jù),公眾號調用各接口時都需使用access_token但是,很多網(wǎng)站是沒有公眾號的,或者說100萬的調用次數(shù)都不夠我揮霍的,那怎么辦?答案是我們可以使用微信公眾平臺測試賬號,它的優(yōu)勢是無需公眾帳號、快速申請接口(只要有微信號就可以),可以直接體驗和測試公眾平臺所有高級接口功能,而且不需要綁定ip白名單也可以獲得access_token,最大的優(yōu)勢是長鏈轉短鏈的服務貌似沒有調用次數(shù)限制(我親測試了很多,發(fā)現(xiàn)使用次數(shù)并沒有變化,雖然文檔上寫了1000次)。
/** * 根據(jù)appid和app appsecret來獲取acess_token * return @param {String} */async getAccessToken() { let query = { appid: this.appid, secret: this.appsecret, grant_type: 'client_credential' }; let url = `https://api.weixin.qq.com/cgi-bin/token?${querystring.stringify(query)}`; return await this.request(url);}
長鏈轉短鏈/** * 通過微信api生成短鏈 * @param {String} req_url 待檢測url */async createShortUrl(req_url) { var requestData = { "access_token": this.access_token, "action": "long2short", "long_url": req_url } const url = `https://api.weixin.qq.com/cgi-bin/shorturl?access_token=${this.access_token}`; let body = await this.request(url, { method: "POST", json: true, headers: { "content-type": "application/json", }, body: requestData }); return body && body.short_url;}
檢測重定向鏈接來判斷是否被微信封禁/** * 根據(jù)重定向之后的host是否為weixin110.qq.com來檢測url是否被微信封禁 * @param {String} url 待檢測短鏈接url */checkDomainBanned(url) { return new Promise(function (resolve, reject) { return request(url, function(err, res, body) { if (!err) { if (res && res.request && res.request.uri && res.request.uri.host === 'weixin110.qq.com') { resolve({ code: -1, msg: 'banned' }); } else { resolve({ code: 0, msg: 'ok' }); } } else { reject(err); } }) })}
最后測試結果如下(打碼的網(wǎng)址大家可以自行想象)微信打開鏈接時會先過一層安全檢測,再根據(jù)檢測結果來跳轉相應的頁面,因此我們可以通過監(jiān)測安全檢測的響應內容,來判斷外部鏈接的安全性我們根據(jù)這個原理,提前做一個預監(jiān)測發(fā)現(xiàn)外部鏈接經過安全檢測之后的重定向是否為安全鏈接即可。安全檢測鏈接為 https://mp.weixinbridge.com/mp/wapredirect?url=[req_url]
關鍵詞:停止,訪問
微信公眾號
版權所有? 億企邦 1997-2025 保留一切法律許可權利。