Python+KgCaptcha實(shí)現(xiàn)驗(yàn)證碼的開(kāi)發(fā)詳解
背景
閑來(lái)無(wú)聊,在網(wǎng)上發(fā)現(xiàn)了一個(gè)驗(yàn)證碼產(chǎn)品KgCaptcha,下面是我用KgCaptcha開(kāi)發(fā)驗(yàn)證碼的記錄。
開(kāi)發(fā)過(guò)程
Web接入
訪問(wèn)官網(wǎng),注冊(cè)賬號(hào)后登錄控制臺(tái),創(chuàng)建應(yīng)用,系統(tǒng)會(huì)分配一個(gè)唯一的AppId、AppSecret。

引入JS
這里的appid在用戶控制臺(tái)獲取。
<script src="captcha.js?appid=xxx"></script>
JS接入代碼
kg.captcha({
// 綁定元素,驗(yàn)證框顯示區(qū)域
bind: "#captchaBox",
// 驗(yàn)證成功事務(wù)處理
success: function(e) {
console.log(e);
},
// 驗(yàn)證失敗事務(wù)處理
failure: function(e) {
console.log(e);
},
// 點(diǎn)擊刷新按鈕時(shí)觸發(fā)
refresh: function(e) {
console.log(e);
}
});Python后臺(tái)驗(yàn)證
from wsgiref.simple_server import make_server
from KgCaptchaSDK import KgCaptcha
def start(environ, response):
# 填寫(xiě)你的 AppId,在應(yīng)用管理中獲取
AppID = "xxx"
# 填寫(xiě)你的 AppSecret,在應(yīng)用管理中獲取
AppSecret = "xxx"
request = KgCaptcha(AppID, AppSecret)
# 填寫(xiě)應(yīng)用服務(wù)域名,在應(yīng)用管理中獲取
request.appCdn = "https://cdn.kgcaptcha.com"
# 請(qǐng)求超時(shí)時(shí)間,秒
request.connectTimeout = 10
# 用戶id/登錄名/手機(jī)號(hào)等信息,當(dāng)安全策略中的防控等級(jí)為3時(shí)必須填寫(xiě)
request.userId = "kgCaptchaDemo"
# 使用其它 WEB 框架時(shí)請(qǐng)刪除 request.parse,使用框架提供的方法獲取以下相關(guān)參數(shù)
parseEnviron = request.parse(environ)
# 前端驗(yàn)證成功后頒發(fā)的 token,有效期為兩分鐘
request.token = parseEnviron["post"].get("kgCaptchaToken", "") # 前端 _POST["kgCaptchaToken"]
# 客戶端IP地址
request.clientIp = parseEnviron["ip"]
# 客戶端瀏覽器信息
request.clientBrowser = parseEnviron["browser"]
# 來(lái)路域名
request.domain = parseEnviron["domain"]
# 發(fā)送請(qǐng)求
requestResult = request.sendRequest()
if requestResult.code == 0:
# 驗(yàn)證通過(guò)邏輯處理
html = "驗(yàn)證通過(guò)"
else:
# 驗(yàn)證失敗邏輯處理
html = f"{requestResult.msg} - {requestResult.code}"
response("200 OK", [("Content-type", "text/html; charset=utf-8")])
return [bytes(str(html), encoding="utf-8")]
httpd = make_server("0.0.0.0", 8088, start) # 設(shè)置調(diào)試端口 http://localhost:8088/
httpd.serve_forever()JS刷新驗(yàn)證碼
<script>kg.reload(kg.param);</script>
效果展示

最后
SDK開(kāi)源地址:KgCaptcha (KgCaptcha) · GitHub,順便做了一個(gè)演示:凱格行為驗(yàn)證碼在線體驗(yàn)
到此這篇關(guān)于Python+KgCaptcha實(shí)現(xiàn)驗(yàn)證碼的開(kāi)發(fā)詳解的文章就介紹到這了,更多相關(guān)Python KgCaptcha驗(yàn)證碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Django中Q查詢(xún)及Q()對(duì)象 F查詢(xún)及F()對(duì)象用法
這篇文章主要介紹了Django中Q查詢(xún)及Q()對(duì)象 F查詢(xún)及F()對(duì)象用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07
python2.7安裝opencv-python很慢且總是失敗問(wèn)題
這篇文章主要介紹了python2.7安裝opencv-python很慢且總是失敗問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02
Python遠(yuǎn)程控制Windows服務(wù)器的方法詳解
在很多企業(yè)會(huì)使用閑置的 Windows 機(jī)器作為臨時(shí)服務(wù)器,有時(shí)候我們想遠(yuǎn)程調(diào)用里面的程序或查看日志文件。本文分享了利用Python遠(yuǎn)程控制Windows服務(wù)器的方法,感興趣的可以學(xué)習(xí)一下2022-05-05
解決python使用open打開(kāi)文件中文亂碼的問(wèn)題
下面小編就為大家分享一篇解決python使用open打開(kāi)文件中文亂碼的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-12-12
python+opencv實(shí)現(xiàn)攝像頭調(diào)用的方法
這篇文章主要為大家詳細(xì)介紹了python+opencv實(shí)現(xiàn)攝像頭調(diào)用的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06

