一、URL 和 Tocken 簡(jiǎn)介
1、想成為開(kāi)發(fā)者必須要有一個(gè)公網(wǎng)的網(wǎng)絡(luò)地址(URL),這個(gè)網(wǎng)絡(luò)地址要求微信公眾平臺(tái)可以訪問(wèn)到,網(wǎng)絡(luò)地址的獲取有多種方式:可以借助其他平臺(tái),也可以自己租借服務(wù)器(建議自己租一個(gè)服務(wù)器,因?yàn)槲覀冃枰渴饝?yīng)用);總之,你要提供出一個(gè)公網(wǎng)上的URL;
2、Tocken(標(biāo)記):Tocken可以隨便填寫一個(gè)字符串,在認(rèn)證的時(shí)候使用;
3、認(rèn)證過(guò)程:需要開(kāi)發(fā)者進(jìn)行編程,所以要在開(kāi)發(fā)者服務(wù)器上部署一個(gè)應(yīng)用(提供URL);當(dāng)公網(wǎng)上的URL被微信訪問(wèn)時(shí),微信會(huì)發(fā)送過(guò)來(lái)一些數(shù)據(jù),你的應(yīng)用要把微信發(fā)送過(guò)來(lái)的數(shù)據(jù)進(jìn)行加密,然后用密文和signature比較,如果相同,返回echostr給微信公眾平臺(tái),微信公眾平臺(tái)進(jìn)行校驗(yàn),如果正確,那么恭喜你,你的公眾賬號(hào)成為成為開(kāi)發(fā)者賬號(hào);
二、驗(yàn)證流程圖
您已經(jīng)向微信公眾平臺(tái)提供了 URL(開(kāi)發(fā)者服務(wù)器網(wǎng)址址) 和 Tocken,下圖是微信公眾平臺(tái)認(rèn)證流程;
從上圖可以看出,主要驗(yàn)證功能是在開(kāi)發(fā)者服務(wù)器這端,其中在開(kāi)發(fā)者服務(wù)器這端進(jìn)行tocken,timestamp,nonce加密認(rèn)證(sha1加密)的時(shí)候,tocken是開(kāi)發(fā)者提供給微信公眾平臺(tái)的;如果加密的結(jié)果和 微信公眾平臺(tái)提供的signature一樣,那么我們就返回echostr給微信公眾平臺(tái);微信公眾平臺(tái)進(jìn)行echostr認(rèn)證,如果通過(guò),公眾賬號(hào)就成為了開(kāi)發(fā)者
三、代碼說(shuō)明
本人開(kāi)發(fā)用的是python語(yǔ)言,如果你使用的是其他語(yǔ)言,邏輯結(jié)構(gòu)類似,只是實(shí)現(xiàn)不同;
@csrf_exempt def wx_valid(request):#提供給微信公眾平臺(tái)的url,微信公眾平臺(tái)請(qǐng)求url時(shí),會(huì)執(zhí)行此方法 '''微信開(kāi)發(fā)者驗(yàn)證,是GET請(qǐng)求;GET 和 POST 區(qū)分是認(rèn)證還是發(fā)送消息(發(fā)送消息的時(shí)候是POST)''' if(request.method == 'GET'): tocken='zainanjing6tocken'#提供給微信公眾平臺(tái)的tocken,可以保持在數(shù)據(jù)庫(kù)、文件或者直接硬編碼到代碼中; if tocken: timestamp = request.GET['timestamp'] nonce = request.GET['nonce'] signature = request.GET['signature'] echostr = request.GET['echostr'] arr = [tocken,timestamp,nonce] arr.sort() data = '' for s in arr : data += s sha1 = hashlib.sha1() #或hashlib.md5() sha1.update(data) _signature = sha1.hexdigest() #生成40位(sha1)或32位(md5)的十六進(jìn)制字符串 if _signature == signature : return HttpResponse(echostr)#返回 echostr return HttpResponse('error')#返回 error
以上就是開(kāi)發(fā)者驗(yàn)證URL和Tocken邏輯流程和源碼了,下面我們就說(shuō)一下整體的操作流程;
四、操作過(guò)程
1、首先在開(kāi)發(fā)者服務(wù)器上部署應(yīng)用,提供出URL 和 Tocken,(此URL要求微信公眾平臺(tái)能夠訪問(wèn)到)
2、把URL 和 Tocken 添加到微信公眾平臺(tái)開(kāi)發(fā)者模式中后,微信公眾平臺(tái)就會(huì)自動(dòng)請(qǐng)求URL,開(kāi)發(fā)者服務(wù)器進(jìn)行數(shù)據(jù)驗(yàn)證(signature驗(yàn)證),如果驗(yàn)證通過(guò),返回echostr給微信公眾平臺(tái)
3、如果成功成為了開(kāi)發(fā)者賬號(hào),并且公眾賬號(hào)的模式調(diào)整為 開(kāi)發(fā)者模式 ,那么用戶給公眾賬號(hào)發(fā)送的消息,就不是由微信公眾平臺(tái)進(jìn)行回復(fù)了,微信公眾平臺(tái)會(huì)將消息轉(zhuǎn)發(fā)給開(kāi)發(fā)者服務(wù)器,開(kāi)發(fā)者服務(wù)器進(jìn)行消息回復(fù)
至此,URL 和 Tocken的認(rèn)證就算結(jié)束了,如果認(rèn)證通過(guò)了,那么恭喜,你的賬號(hào)已經(jīng)是開(kāi)發(fā)者賬號(hào),下一步必須要做的是開(kāi)發(fā)回復(fù)用戶消息的功能,不然用戶接收不到任何消息;
以上是微信公眾賬號(hào)開(kāi)發(fā):URL 和 Tocken介紹的詳細(xì)內(nèi)容。更多信息請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費(fèi)脫衣服圖片

Undresser.AI Undress
人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover
用于從照片中去除衣服的在線人工智能工具。

Clothoff.io
AI脫衣機(jī)

Video Face Swap
使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費(fèi)的代碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
功能強(qiáng)大的PHP集成開(kāi)發(fā)環(huán)境

Dreamweaver CS6
視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版
神級(jí)代碼編輯軟件(SublimeText3)

PHP是一種開(kāi)源的腳本語(yǔ)言,廣泛應(yīng)用于Web開(kāi)發(fā)和服務(wù)器端編程,尤其在微信開(kāi)發(fā)中得到了廣泛的應(yīng)用。如今,越來(lái)越多的企業(yè)和開(kāi)發(fā)者開(kāi)始使用PHP進(jìn)行微信開(kāi)發(fā),因?yàn)樗蔀榱艘豢钫嬲囊讓W(xué)易用的開(kāi)發(fā)語(yǔ)言。在微信開(kāi)發(fā)中,消息的加密和解密是一個(gè)非常重要的問(wèn)題,因?yàn)樗鼈兩婕暗綌?shù)據(jù)的安全性。對(duì)于沒(méi)有加密和解密方式的消息,黑客可以輕松獲取到其中的數(shù)據(jù),對(duì)用戶造成威脅

在微信公眾號(hào)開(kāi)發(fā)中,投票功能經(jīng)常被運(yùn)用。投票功能是讓用戶快速參與互動(dòng)的好方式,也是舉辦活動(dòng)和調(diào)查意見(jiàn)的重要工具。本文將為您介紹如何使用PHP實(shí)現(xiàn)微信投票功能。獲取微信公眾號(hào)授權(quán)首先,你需要獲取微信公眾號(hào)的授權(quán)。在微信公眾平臺(tái)上,你需要配置微信公眾號(hào)的api地址、官方賬號(hào)和公眾號(hào)對(duì)應(yīng)的token。在我們使用PHP語(yǔ)言開(kāi)發(fā)的過(guò)程中,我們需要使用微信官方提供的PH

隨著微信的普及,越來(lái)越多的企業(yè)開(kāi)始將其作為營(yíng)銷工具。而微信群發(fā)功能,則是企業(yè)進(jìn)行微信營(yíng)銷的重要手段之一。但是,如果只依靠手動(dòng)發(fā)送,對(duì)于營(yíng)銷人員來(lái)說(shuō)是一件極為費(fèi)時(shí)費(fèi)力的工作。所以,開(kāi)發(fā)一款微信群發(fā)工具就顯得尤為重要。本文將介紹如何使用PHP開(kāi)發(fā)微信群發(fā)工具。一、準(zhǔn)備工作開(kāi)發(fā)微信群發(fā)工具,我們需要掌握以下幾個(gè)技術(shù)點(diǎn):PHP基礎(chǔ)知識(shí)微信公眾平臺(tái)開(kāi)發(fā)開(kāi)發(fā)工具:Sub

微信是目前全球用戶規(guī)模最大的社交平臺(tái)之一,隨著移動(dòng)互聯(lián)網(wǎng)的普及,越來(lái)越多的企業(yè)開(kāi)始意識(shí)到微信營(yíng)銷的重要性。在進(jìn)行微信營(yíng)銷時(shí),客服服務(wù)是至關(guān)重要的一環(huán)。為了更好地管理客服聊天窗口,我們可以借助PHP語(yǔ)言進(jìn)行微信開(kāi)發(fā)。一、PHP微信開(kāi)發(fā)簡(jiǎn)介PHP是一種開(kāi)源的服務(wù)器端腳本語(yǔ)言,廣泛運(yùn)用于Web開(kāi)發(fā)領(lǐng)域。結(jié)合微信公眾平臺(tái)提供的開(kāi)發(fā)接口,我們可以使用PHP語(yǔ)言進(jìn)行微信

在微信公眾號(hào)開(kāi)發(fā)中,用戶標(biāo)簽管理是一個(gè)非常重要的功能,可以讓開(kāi)發(fā)者更好地了解和管理自己的用戶。本篇文章將介紹如何使用PHP實(shí)現(xiàn)微信用戶標(biāo)簽管理功能。一、獲取微信用戶openid在使用微信用戶標(biāo)簽管理功能之前,我們首先需要獲取用戶的openid。在微信公眾號(hào)開(kāi)發(fā)中,通過(guò)用戶授權(quán)的方式獲取openid是比較常見(jiàn)的做法。在用戶授權(quán)完成后,我們可以通過(guò)以下代碼獲取用

隨著微信成為了人們生活中越來(lái)越重要的一個(gè)通訊工具,其敏捷的消息傳遞功能迅速受到廣大企業(yè)和個(gè)人的青睞。對(duì)于企業(yè)而言,將微信發(fā)展為一個(gè)營(yíng)銷平臺(tái)已經(jīng)成為趨勢(shì),而微信開(kāi)發(fā)的重要性也逐漸凸顯。在其中,群發(fā)功能更是被廣泛使用,那么,作為PHP程序員,如何實(shí)現(xiàn)群發(fā)消息發(fā)送記錄呢?下面將為大家簡(jiǎn)單介紹一下。1.了解微信公眾號(hào)相關(guān)開(kāi)發(fā)知識(shí)在了解如何實(shí)現(xiàn)群發(fā)消息發(fā)送記錄之前,我

如何使用PHP實(shí)現(xiàn)微信公眾號(hào)開(kāi)發(fā)微信公眾號(hào)已經(jīng)成為了很多企業(yè)推廣和互動(dòng)的重要渠道,而PHP作為一種常用的Web語(yǔ)言,也可以用來(lái)進(jìn)行微信公眾號(hào)的開(kāi)發(fā)。本文將介紹一下使用PHP實(shí)現(xiàn)微信公眾號(hào)開(kāi)發(fā)的具體步驟。第一步:獲取微信公眾號(hào)的開(kāi)發(fā)者賬號(hào)在開(kāi)始微信公眾號(hào)開(kāi)發(fā)之前,需要先去申請(qǐng)一個(gè)微信公眾號(hào)的開(kāi)發(fā)者賬號(hào)。具體的注冊(cè)流程可以參見(jiàn)微信公眾平臺(tái)的官方網(wǎng)

隨著互聯(lián)網(wǎng)和移動(dòng)智能設(shè)備的發(fā)展,微信成為了社交和營(yíng)銷領(lǐng)域不可或缺的一部分。在這個(gè)越來(lái)越數(shù)字化的時(shí)代,如何使用PHP進(jìn)行微信開(kāi)發(fā)已經(jīng)成為了很多開(kāi)發(fā)者的關(guān)注點(diǎn)。本文主要介紹如何使用PHP進(jìn)行微信開(kāi)發(fā)的相關(guān)知識(shí)點(diǎn),以及其中的一些技巧和注意事項(xiàng)。一、開(kāi)發(fā)環(huán)境準(zhǔn)備在進(jìn)行微信開(kāi)發(fā)之前,首先需要準(zhǔn)備好相應(yīng)的開(kāi)發(fā)環(huán)境。具體來(lái)說(shuō),需要安裝PHP的運(yùn)行環(huán)境,以及微信公眾平臺(tái)提
