久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

易語(yǔ)言調(diào)用短信API完整指南:從HTTP請(qǐng)求到簽名鑒權(quán)實(shí)戰(zhàn)

易語(yǔ)言調(diào)用短信API完整指南:從HTTP請(qǐng)求到簽名鑒權(quán)實(shí)戰(zhàn) 做易語(yǔ)言開(kāi)發(fā)的人遲早會(huì)遇到這個(gè)需求給程序加短信通知。注冊(cè)驗(yàn)證碼、訂單提醒、腳本執(zhí)行異常告警都需要在程序里直接調(diào)用短信接口。但“易語(yǔ)言調(diào)短信API”這個(gè)組合很容易讓新手卡殼——網(wǎng)上的示例要么是過(guò)時(shí)的控件調(diào)用要么是其他語(yǔ)言代碼讓你來(lái)回翻譯真正能在中文編程環(huán)境里完整跑通的Demo不多。這篇文章就把這套流程徹底拆開(kāi)從技術(shù)路線怎么選、簽名鑒權(quán)為什么繞不開(kāi)到可以直接復(fù)制的示例代碼、參數(shù)配置里的隱藏坑位、排錯(cuò)實(shí)戰(zhàn)一步步給你理清楚。如果你是第一次接觸短信API但已經(jīng)能把易語(yǔ)言的窗口程序跑起來(lái)那這篇就是為你寫(xiě)的??赐曛竽憧梢詫?duì)照自己的短信服務(wù)商改參數(shù)讓驗(yàn)證碼和通知真正發(fā)到用戶(hù)手機(jī)上。1. 為什么在易語(yǔ)言里接短信API先想清楚技術(shù)路線很多新手拿到需求后的第一反應(yīng)是去搜“易語(yǔ)言 短信接口”結(jié)果搜出來(lái)的方案五花八門(mén)有的要裝控件有的要引入額外DLL還有的干脆讓你用調(diào)試工具手工觸發(fā)。這些方案不是不能用但對(duì)長(zhǎng)期維護(hù)來(lái)說(shuō)都是隱患。先想清楚技術(shù)路線后面能省掉一大半麻煩。1.1 四種常見(jiàn)技術(shù)路線的對(duì)比我見(jiàn)過(guò)不少商用的易語(yǔ)言項(xiàng)目短信發(fā)送這塊基本跑不出下面四種路子技術(shù)路線實(shí)現(xiàn)方式優(yōu)點(diǎn)缺點(diǎn)直接調(diào)用HTTP接口用網(wǎng)頁(yè)訪問(wèn)對(duì)象或winhttp發(fā)HTTP請(qǐng)求無(wú)需額外DLL跨平臺(tái)兼容好任意服務(wù)商都支持需要自己處理簽名、解析返回?cái)?shù)據(jù)調(diào)用服務(wù)商提供的DLL在易語(yǔ)言里聲明DLL函數(shù)并調(diào)用封裝完整函數(shù)調(diào)用簡(jiǎn)單綁定Windows平臺(tái)DLL版本更新后要重新適配用中間層腳本中轉(zhuǎn)易語(yǔ)言請(qǐng)求本地或遠(yuǎn)程腳本腳本負(fù)責(zé)調(diào)API易語(yǔ)言側(cè)最簡(jiǎn)單邏輯集中在腳本里多一層網(wǎng)絡(luò)開(kāi)銷(xiāo)多一個(gè)故障點(diǎn)調(diào)試工具手工觸發(fā)通過(guò)按鍵模擬或命令行調(diào)用適合臨時(shí)測(cè)試完全不適合正式環(huán)境無(wú)法集成到業(yè)務(wù)流程我的建議非常明確優(yōu)先選擇直接調(diào)用HTTP接口。原因在于短信API本質(zhì)就是一個(gè)HTTP服務(wù)任何語(yǔ)言能做的事易語(yǔ)言用網(wǎng)頁(yè)訪問(wèn)對(duì)象一樣能做。這樣你的核心邏輯全部留在易語(yǔ)言項(xiàng)目里沒(méi)有DLL版本沖突也不依賴(lài)第三方腳本的存活狀態(tài)。1.2 為什么HTTP接口方式是首選這里要解釋一個(gè)容易被忽略的點(diǎn)短信服務(wù)商的API地址是標(biāo)準(zhǔn)的HTTP URL參數(shù)通過(guò)GET或POST傳遞返回結(jié)果是JSON或XML文本。易語(yǔ)言在這方面的能力被嚴(yán)重低估了——精易模塊里的“網(wǎng)頁(yè)_訪問(wèn)_對(duì)象”完全能滿(mǎn)足請(qǐng)求發(fā)送、協(xié)議頭設(shè)置、超時(shí)控制這些需求。另外從成本角度看絕大多數(shù)短信平臺(tái)都提供免費(fèi)測(cè)試簽名和測(cè)試模板你注冊(cè)之后拿到密鑰就能調(diào)。自己用DLL封裝反而會(huì)把簡(jiǎn)單事情搞復(fù)雜因?yàn)镈LL的調(diào)用約定、數(shù)據(jù)結(jié)構(gòu)、內(nèi)存釋放都要逐一適配。尤其是當(dāng)你后續(xù)想換短信服務(wù)商的時(shí)候HTTP接口只要改地址和參數(shù)即可DLL方案則要整個(gè)重寫(xiě)。接下來(lái)我們就按“HTTP接口”這條主線把底層的邏輯先講透再給完整代碼。2. 短信接口調(diào)用的底層邏輯搞懂這四個(gè)關(guān)鍵詞才算入門(mén)我見(jiàn)過(guò)太多人拿到示例代碼后一頓復(fù)制結(jié)果換了服務(wù)商就完全不知道怎么改。原因在于不理解HTTP請(qǐng)求的構(gòu)成、鑒權(quán)的意義、模板的機(jī)制和返回?cái)?shù)據(jù)的長(zhǎng)相。這四個(gè)關(guān)鍵詞弄明白任何平臺(tái)的短信API你都能快速上手。2.1 請(qǐng)求構(gòu)成URL、請(qǐng)求方法、協(xié)議頭一個(gè)短信HTTP請(qǐng)求本質(zhì)上就是發(fā)送一個(gè)URL請(qǐng)求。比如某平臺(tái)接口地址是http://api.example.com/sms/send這個(gè)地址后面跟的參數(shù)通常包括access_key_id你的密鑰ID服務(wù)商用它來(lái)識(shí)別哪個(gè)賬戶(hù)在調(diào)用phone目標(biāo)手機(jī)號(hào)sign_name簽名內(nèi)容就是短信開(kāi)頭“【某某】”里面的某某template_code模板編號(hào)服務(wù)商審核通過(guò)后分配template_param模板變量比如驗(yàn)證碼的值、用戶(hù)昵稱(chēng)timestamp當(dāng)前時(shí)間戳用于防止請(qǐng)求重放sign簽名值證明請(qǐng)求確實(shí)由你發(fā)出請(qǐng)求方法通常有GET和POST兩種。GET適合參數(shù)少、調(diào)試方便的場(chǎng)景POST適合參數(shù)多、內(nèi)容敏感的場(chǎng)景。易語(yǔ)言里網(wǎng)頁(yè)_訪問(wèn)_對(duì)象的第二參數(shù)設(shè)0就是GET設(shè)1就是POST。協(xié)議頭也很關(guān)鍵。服務(wù)商要求的內(nèi)容類(lèi)型通常是application/x-www-form-urlencoded或application/json; charsetutf-8。如果你用JSON格式提交必須在協(xié)議頭里明確寫(xiě)清楚否則服務(wù)商可能返回“參數(shù)格式錯(cuò)誤”。2.2 鑒權(quán)與簽名讓服務(wù)器相信是你發(fā)的你有沒(méi)有想過(guò)短信是能賺錢(qián)的東西如果接口不限量隨便打很容易被惡意外掛刷爆。所以服務(wù)商必須確認(rèn)“調(diào)用者是你”——這就靠簽名機(jī)制。簽名的大致邏輯是把所有請(qǐng)求參數(shù)和你的密鑰AccessSecret拼接成一個(gè)字符串然后用MD5或HMAC-SHA256算法生成一個(gè)摘要值。服務(wù)商收到請(qǐng)求后會(huì)用同樣的方式重新計(jì)算一次如果算出來(lái)的摘要和請(qǐng)求里的sign字段一致就認(rèn)為請(qǐng)求合法。舉例來(lái)說(shuō)明。假設(shè)參數(shù)是access_key_idLTAI123 phone13800138000 timestamp1700000000密鑰是mysecret。那么待簽名字符串就是按字典序拼接后的結(jié)果access_key_idLTAI123phone13800138000timestamp1700000000keymysecret然后對(duì)這個(gè)字符串取MD5得到一個(gè)小寫(xiě)32位字符串這就是sign。這里有個(gè)新手容易踩的大坑拼接時(shí)中文必須編碼后再參與簽名且要注意UTF-8與GBK的差異。短信簽名和模板變量里有中文時(shí)最好先轉(zhuǎn)成UTF-8字節(jié)集再取摘要否則本地算出來(lái)和服務(wù)器算出來(lái)的簽名永遠(yuǎn)對(duì)不上。2.3 三要素簽名內(nèi)容、模板、手機(jī)號(hào)短信平臺(tái)上有“簽名內(nèi)容、模板、手機(jī)號(hào)”三個(gè)概念必須區(qū)分清楚簽名內(nèi)容就是出現(xiàn)在短信開(kāi)頭的名稱(chēng)比如“【我的應(yīng)用】”里的“我的應(yīng)用”。它需要平臺(tái)審核一般1-2小時(shí)就能通過(guò)。模板短信正文的固定框架比如“您的驗(yàn)證碼是${code}5分鐘內(nèi)有效”。${code}就是變量調(diào)用時(shí)用template_param傳入。手機(jī)號(hào)接收方號(hào)碼國(guó)內(nèi)一般是11位帶不帶86前綴取決于平臺(tái)要求。很多人在參數(shù)配置階段反復(fù)報(bào)錯(cuò)就是沒(méi)搞懂“簽名內(nèi)容”和“模板”是兩回事。簽名是發(fā)送方標(biāo)識(shí)模板是正文結(jié)構(gòu)服務(wù)器會(huì)先去庫(kù)里匹配你提交的簽名和模板是否存在、是否通過(guò)審核。審核狀態(tài)不通過(guò)調(diào)多少次都是失敗。2.4 響應(yīng)結(jié)構(gòu)狀態(tài)碼、消息、請(qǐng)求ID所有短信API都會(huì)返回一個(gè)結(jié)構(gòu)化響應(yīng)。最常見(jiàn)的是JSON格式類(lèi)似{code: 200, msg: 發(fā)送成功, request_id: f0a1b2c3-d4e5-6789-abcd-ef0123456789}雖然不同平臺(tái)字段名稱(chēng)不同有叫status的有叫success的但本質(zhì)信息就三類(lèi)狀態(tài)碼成功或失敗的原因分類(lèi)消息描述給人看的具體說(shuō)明請(qǐng)求ID服務(wù)商給本次請(qǐng)求的唯一編號(hào)排查問(wèn)題時(shí)向客服提供這個(gè)ID可以快速定位特別提醒一點(diǎn)發(fā)起HTTP請(qǐng)求成功不代表短信發(fā)送成功。請(qǐng)求返回200HTTP層面的成功只是說(shuō)服務(wù)商接收到了你的請(qǐng)求真正的結(jié)果要看業(yè)務(wù)狀態(tài)碼。這個(gè)后面排錯(cuò)部分會(huì)展開(kāi)講。3. 完整Demo從空窗口到發(fā)出第一條短信基礎(chǔ)原理講完下面進(jìn)入實(shí)戰(zhàn)。這里我以某個(gè)主流短信平臺(tái)的接口格式為例參數(shù)含義是通用的你拿到自己平臺(tái)的文檔后只要替換地址和字段名即可。3.1 界面設(shè)計(jì)新建一個(gè)易語(yǔ)言窗口程序放以下組件編輯框_手機(jī)號(hào)用于輸入接收號(hào)碼編輯框_驗(yàn)證碼用于輸入驗(yàn)證碼內(nèi)容或任意模板變量按鈕_發(fā)送觸發(fā)發(fā)送動(dòng)作標(biāo)簽_提示顯示請(qǐng)求返回結(jié)果界面越簡(jiǎn)單越好核心邏輯在按鈕的事件里。3.2 HTTP訪問(wèn)能力準(zhǔn)備推薦下載最新版精易模塊把模塊引用到程序里。本篇代碼用到精易模塊的以下命令網(wǎng)頁(yè)_訪問(wèn)_對(duì)象發(fā)送HTTP請(qǐng)求編碼_URL編碼對(duì)中文參數(shù)做URL編碼時(shí)間_取Unix時(shí)間戳生成當(dāng)前時(shí)間戳編碼_Ansi到Utf8把中文簽名串轉(zhuǎn)成UTF-8字節(jié)集取數(shù)據(jù)摘要計(jì)算MD5值類(lèi)_json解析返回的JSON文本如果你的環(huán)境里沒(méi)有精易模塊也可以用易語(yǔ)言核心支持庫(kù)的“http讀文件”臨時(shí)頂一下但功能弱很多后續(xù)做POST、自定義頭會(huì)受限。正式項(xiàng)目還是建議用精易模塊。3.3 完整代碼下面是一份可用的參考代碼。注意訪問(wèn)密鑰ID、訪問(wèn)密鑰、短信簽名、模板編號(hào)這幾個(gè)變量請(qǐng)?zhí)鎿Q成你自己的.版本 2 .支持庫(kù) spec .程序集 窗口程序集_窗口1 .子程序 _按鈕_發(fā)送_被單擊 .局部變量 手機(jī)號(hào), 文本型 .局部變量 驗(yàn)證碼值, 文本型 .局部變量 模板參數(shù), 文本型 .局部變量 時(shí)間戳, 文本型 .局部變量 待簽名字符串, 文本型 .局部變量 簽名值, 文本型 .局部變量 請(qǐng)求地址, 文本型 .局部變量 返回文本, 文本型 讀取界面輸入 手機(jī)號(hào) 編輯框_手機(jī)號(hào).內(nèi)容 驗(yàn)證碼值 編輯框_驗(yàn)證碼.內(nèi)容 手機(jī)號(hào)基本校驗(yàn) 如果真 (取文本長(zhǎng)度 (手機(jī)號(hào)) ≠ 11) 標(biāo)簽_提示.標(biāo)題 “請(qǐng)輸入11位手機(jī)號(hào)” 返回 () 如果真結(jié)束 拼接模板變量JSON 模板參數(shù) “{\“code\”:\“” 驗(yàn)證碼值 “\”}” 生成時(shí)間戳 時(shí)間戳 時(shí)間_取Unix時(shí)間戳 () 拼接待簽名字符串注意參與簽名的參數(shù)順序和內(nèi)容 待簽名字符串 “access_key_id” “你的訪問(wèn)密鑰ID” 待簽名字符串 待簽名字符串 “phone” 手機(jī)號(hào) 待簽名字符串 待簽名字符串 “sign_name” “你的短信簽名” 待簽名字符串 待簽名字符串 “template_code” “你的模板編號(hào)” 待簽名字符串 待簽名字符串 “template_param” 模板參數(shù) 待簽名字符串 待簽名字符串 “×tamp” 時(shí)間戳 待簽名字符串 待簽名字符串 “key” “你的訪問(wèn)密鑰” 將待簽名字符串轉(zhuǎn)UTF-8再取MD5 簽名值 取數(shù)據(jù)摘要 (編碼_Ansi到Utf8 (到字節(jié)集 (待簽名字符串))) 拼請(qǐng)求地址中文簽名和模板參數(shù)要做URL編碼 請(qǐng)求地址 “http://api.example.com/sms/send” 請(qǐng)求地址 請(qǐng)求地址 “?access_key_id” “你的訪問(wèn)密鑰ID” 請(qǐng)求地址 請(qǐng)求地址 “phone” 手機(jī)號(hào) 請(qǐng)求地址 請(qǐng)求地址 “sign_name” 編碼_URL編碼 (“你的短信簽名”) 請(qǐng)求地址 請(qǐng)求地址 “template_code” “你的模板編號(hào)” 請(qǐng)求地址 請(qǐng)求地址 “template_param” 編碼_URL編碼 (模板參數(shù)) 請(qǐng)求地址 請(qǐng)求地址 “×tamp” 時(shí)間戳 請(qǐng)求地址 請(qǐng)求地址 “sign” 簽名值 發(fā)送GET請(qǐng)求超時(shí)10秒 返回文本 網(wǎng)頁(yè)_訪問(wèn)_對(duì)象 (請(qǐng)求地址, 0, , , , , 10000) 調(diào)試輸出原始返回 輸出調(diào)試文本 (返回文本) 調(diào)用解析子程序 解析返回結(jié)果 (返回文本)這里有個(gè)細(xì)節(jié)需要重點(diǎn)解釋為什么簽名拼接用的是中文原文而發(fā)送時(shí)卻要URL編碼因?yàn)楹灻?jì)算是服務(wù)商拿到“原始參數(shù)值”再計(jì)算的它并不知道你在客戶(hù)端做了編碼。而URL里又不能直接放中文所以發(fā)送前才做URL編碼。如果你在簽名時(shí)對(duì)中文先做了URL編碼那服務(wù)商同樣對(duì)原始值編碼后再計(jì)算兩邊就會(huì)不一致。保險(xiǎn)起見(jiàn)應(yīng)該以服務(wù)商文檔為準(zhǔn)本篇示例采用的是“簽名用原文、發(fā)送時(shí)編碼”的常見(jiàn)做法。3.4 JSON返回解析上一步代碼里的“解析返回結(jié)果”子程序可以用類(lèi)_json來(lái)完成。大致邏輯.子程序 解析返回結(jié)果 .參數(shù) 返回文本, 文本型 .局部變量 JSON, 類(lèi)_json .局部變量 狀態(tài)碼, 文本型 .局部變量 消息, 文本型 如果真 (返回文本 “”) 標(biāo)簽_提示.標(biāo)題 “網(wǎng)絡(luò)請(qǐng)求無(wú)返回” 返回 () 如果真結(jié)束 .如果真 (JSON.解析 (返回文本) 假) 標(biāo)簽_提示.標(biāo)題 “返回格式錯(cuò)誤” 返回 () .如果真結(jié)束 狀態(tài)碼 JSON.取屬性 (“code”).取數(shù)據(jù)文本 () 消息 JSON.取屬性 (“msg”).取數(shù)據(jù)文本 () 調(diào)試輸出 (“狀態(tài)碼”, 狀態(tài)碼) 調(diào)試輸出 (“消息”, 消息) 如果真 (狀態(tài)碼 “200”) 標(biāo)簽_提示.標(biāo)題 “發(fā)送成功” 返回 () 如果真結(jié)束 標(biāo)簽_提示.標(biāo)題 “發(fā)送失敗” 消息解析JSON這一步很多老項(xiàng)目會(huì)用手工字符串查找比如“尋找文本”那不是不好只是遇到返回結(jié)構(gòu)變動(dòng)時(shí)就容易出錯(cuò)。類(lèi)_json雖然也要先安裝模塊但它能按路徑取屬性代碼寫(xiě)起來(lái)更穩(wěn)。4. 參數(shù)配置里最容易踩的六個(gè)坑示例代碼跑通之后你會(huì)進(jìn)入一個(gè)更考驗(yàn)?zāi)托牡碾A段正式接入自己的參數(shù)。這個(gè)階段我總結(jié)了六個(gè)高頻坑每一個(gè)都是我實(shí)際見(jiàn)過(guò)或踩過(guò)的。4.1 中文不編碼接口各種報(bào)錯(cuò)短信簽名和模板變量里帶中文是必然的。如果你直接把中文拼在URL后面發(fā)過(guò)去輕則服務(wù)商返回“參數(shù)錯(cuò)誤”重則你的HTTP請(qǐng)求直接被網(wǎng)關(guān)攔截。解決方案就是示例代碼里的編碼_URL編碼()。但注意編碼前先要搞清楚參數(shù)在哪個(gè)環(huán)節(jié)被解碼否則可能出現(xiàn)“編碼一次多了百分號(hào)”或“編碼兩次全部亂掉”的詭異現(xiàn)象。排查方法很簡(jiǎn)單把最終請(qǐng)求地址復(fù)制到瀏覽器地址欄打開(kāi)看服務(wù)商返回的錯(cuò)誤信息。4.2 模板變量名對(duì)不上服務(wù)商的模板往往長(zhǎng)這樣您的驗(yàn)證碼為${code}5分鐘內(nèi)有效。那你的template_param就必須是{code:123456}很多新手會(huì)把變量名寫(xiě)成了“verifyCode”“authCode”之類(lèi)的跟模板里占位的${code}對(duì)不上結(jié)果返回錯(cuò)誤“變量值與模板不匹配”。還有一點(diǎn)JSON的鍵名一定要和模板占位符完全一致大小寫(xiě)也不能錯(cuò)。建議寫(xiě)代碼前先到平臺(tái)后臺(tái)復(fù)制一遍模板變量名。4.3 密鑰泄露與硬編碼問(wèn)題訪問(wèn)密鑰相當(dāng)于你短信賬戶(hù)的密碼。如果項(xiàng)目要發(fā)給別人密鑰寫(xiě)在源碼里被反編譯出來(lái)別人就能拿你的密鑰發(fā)短信費(fèi)用全算你頭上。雖然是示例代碼但正式項(xiàng)目里的密鑰建議盡量從配置文件讀取或者部署成加密后的常量。如果你做的是商用軟件更要仔細(xì)考慮這個(gè)點(diǎn)。4.4 發(fā)送頻率限制幾乎所有短信平臺(tái)都有頻率限制常見(jiàn)的規(guī)則包括同一手機(jī)號(hào)1分鐘內(nèi)最多1條、1天內(nèi)最多10條同一IP每秒最多1條。程序里如果寫(xiě)了循環(huán)又不做限速很容易觸發(fā)“觸發(fā)日發(fā)送量限制”或“觸發(fā)小時(shí)發(fā)送量限制”的錯(cuò)誤碼。我的習(xí)慣是發(fā)送前先檢查同號(hào)最近是否已發(fā)送過(guò)用簡(jiǎn)單的內(nèi)存表或?qū)憥?kù)記錄均可在高并發(fā)場(chǎng)景能幫你少踩很多坑。4.5 手機(jī)號(hào)格式校驗(yàn)這里不是指11位數(shù)字那么簡(jiǎn)單。國(guó)內(nèi)手機(jī)號(hào)第一位是1第二位通常是3、5、6、7、8、9。很多平臺(tái)接口層會(huì)做校驗(yàn)但也有平臺(tái)只按數(shù)字處理。你自己不做格式校驗(yàn)結(jié)果就是用戶(hù)填了個(gè)“12345”你發(fā)給平臺(tái)平臺(tái)返回“手機(jī)號(hào)無(wú)效”用戶(hù)體驗(yàn)極差。示例代碼里我做了長(zhǎng)度校驗(yàn)?zāi)氵€可以加上正則匹配。4.6 簽名和模板的審核狀態(tài)測(cè)試階段沒(méi)問(wèn)題換到生產(chǎn)環(huán)境反而失敗最常見(jiàn)的原因是測(cè)試簽名/測(cè)試模板和正式簽名/正式模板不是同一個(gè)。平臺(tái)允許你分別創(chuàng)建測(cè)試版和正式版測(cè)試版的發(fā)送量通常很小而且接收號(hào)碼有限制。所以正式項(xiàng)目上線前一定要檢查簽名內(nèi)容、模板編號(hào)是否已經(jīng)在平臺(tái)審核通過(guò)并且狀態(tài)是“可用”。5. 排錯(cuò)實(shí)戰(zhàn)收到錯(cuò)誤碼之后怎么辦短信接口報(bào)錯(cuò)很多新手的第一反應(yīng)是去百度錯(cuò)誤碼然后對(duì)著網(wǎng)上的舊答案瞎改。我的經(jīng)驗(yàn)是先不要管代碼先把請(qǐng)求本身搞清楚。5.1 先排查請(qǐng)求本身收到錯(cuò)誤后我最先做的是把發(fā)給服務(wù)商的請(qǐng)求原樣打印出來(lái)包括完整URL、協(xié)議頭、提交數(shù)據(jù)。為此我習(xí)慣在易語(yǔ)言里用一個(gè)日志子程序把每次請(qǐng)求的地址、生成的sign、返回文本追加寫(xiě)到文本文件里。這樣出了問(wèn)題看日志就能定位是“請(qǐng)求參數(shù)錯(cuò)了”還是“服務(wù)商拒絕了”。比如最典型的簽名錯(cuò)誤sign not match你去查代碼邏輯往往會(huì)糾結(jié)很久但看日志就明白了要么是待簽名字符串里包含的key不對(duì)要么是編碼方式變了。日志是排查這類(lèi)問(wèn)題最直接的鑰匙。5.2 常見(jiàn)錯(cuò)誤碼與處理下面這張表是我整理的高頻錯(cuò)誤碼不同平臺(tái)的具體code值可能不同但含義大同小異錯(cuò)誤碼/關(guān)鍵詞含義處理方式InvalidAccessKeyId密鑰ID不存在或已禁用檢查訪問(wèn)密鑰ID是否填對(duì)是否復(fù)制了多余空格SignatureNotMatch簽名不正確重新檢查待簽名字符串、密鑰、編碼方式InvalidPhoneNumber手機(jī)號(hào)格式錯(cuò)誤檢查號(hào)碼位數(shù)、是否含有非數(shù)字字符TemplateError模板不存在或未審核去后臺(tái)確認(rèn)模板編號(hào)確認(rèn)審核狀態(tài)TemplateMissingParam缺少模板變量對(duì)照模板占位符補(bǔ)全template_param觸發(fā)日發(fā)送量限制超出頻率限制降低發(fā)送頻率或更換號(hào)碼再試模板變量值非法變量?jī)?nèi)容不符合規(guī)范檢查是否含敏感詞變量類(lèi)型是否匹配簽名未審核簽名不可用到平臺(tái)查看簽名審核狀態(tài)如果你的返回里沒(méi)有明確錯(cuò)誤碼而是一條英文字符串通常也會(huì)有“msg”“message”字段給出說(shuō)明。把這些信息連同request_id一起保留下來(lái)才能給服務(wù)商客服提交有效工單。5.3 返回成功但收不到短信還有一種更隱蔽的情況接口返回“發(fā)送成功”但用戶(hù)就是收不到短信。這里的原因往往不在接口調(diào)用而在于短信鏈路本身。常見(jiàn)原因有測(cè)試模板限定了接收號(hào)碼只允許給申請(qǐng)時(shí)填寫(xiě)的測(cè)試號(hào)發(fā)送。發(fā)給其他號(hào)碼雖然返回成功但實(shí)際上不會(huì)真正下發(fā)。手機(jī)管家攔截。短信被手機(jī)系統(tǒng)自動(dòng)歸類(lèi)到騷擾短信或推廣短信里用戶(hù)在通知欄看不到。很多驗(yàn)證碼短信被攔截后連提醒都沒(méi)有你無(wú)法控制。平臺(tái)通道排隊(duì)。高峰期或有大量通知發(fā)送時(shí)服務(wù)商的消息隊(duì)列可能積壓導(dǎo)致延遲幾分鐘到達(dá)。短信內(nèi)容命中風(fēng)控規(guī)則。比如模板變量里包含了“鏈接”“銀行卡”等詞被策略攔截但API層仍然記錄為“發(fā)送成功”。遇到這種問(wèn)題不要反復(fù)重發(fā)。先看平臺(tái)控制臺(tái)里的發(fā)送記錄如果有逐條詳情會(huì)直觀得多??刂婆_(tái)顯示下發(fā)成功而用戶(hù)沒(méi)收到再引導(dǎo)用戶(hù)檢查攔截、信號(hào)等問(wèn)題。6. 進(jìn)階玩法批量發(fā)送、子線程與定時(shí)任務(wù)基礎(chǔ)功能穩(wěn)定之后你還可以在易語(yǔ)言里把短信能力做深一層。比如批量通知、定時(shí)提醒、多線程發(fā)送這些在實(shí)際軟件里都是高頻需求。6.1 批量發(fā)送的節(jié)奏控制批量發(fā)送用戶(hù)通知時(shí)切忌用一個(gè)for循環(huán)猛發(fā)。平臺(tái)有限頻規(guī)則短時(shí)間內(nèi)大量請(qǐng)求會(huì)返回“限流”而且被限流后往往要等一段時(shí)間才能恢復(fù)。我的做法是每發(fā)一條延時(shí)200-500毫秒并記錄這次發(fā)送是否成功。如果返回限流或異常就暫停1-2秒再繼續(xù)。用戶(hù)量特別大時(shí)可以按批次拆分比如每次100條批次之間間隔30秒。6.2 子線程發(fā)短信怎么安全操作UI控件易語(yǔ)言里耗時(shí)網(wǎng)絡(luò)操作如果放在窗口主線程里執(zhí)行窗口會(huì)卡住無(wú)響應(yīng)用戶(hù)會(huì)以為程序死了。正確做法是開(kāi)子線程發(fā)送。但易語(yǔ)言的子線程有講究子線程不能直接修改UI控件的屬性否則輕則顯示異常重則程序崩潰。結(jié)合上面的示例如果你在子線程里發(fā)完短信想更新“標(biāo)簽_提示”的標(biāo)題不能直接寫(xiě)標(biāo)簽_提示.標(biāo)題 “發(fā)送成功”而是應(yīng)該給主線程發(fā)一個(gè)消息讓窗口過(guò)程來(lái)處理。常用思路是窗口加一個(gè)“投遞消息”處理或者用精易模塊的線程池配合窗口句柄發(fā)一個(gè)自定義消息過(guò)去然后在窗口的事件里更新控件。這里簡(jiǎn)單給一個(gè)處理方向定義消息常量比如WM_MY_SMS_RESULT用PostMessageA (窗口句柄, 消息常量, 結(jié)果狀態(tài), 0)投遞到窗口。窗口的“自定義消息”事件中再根據(jù)結(jié)果狀態(tài)更新界面。這個(gè)模式能繞開(kāi)“子線程操作UI”的崩潰問(wèn)題也是易語(yǔ)言開(kāi)發(fā)里的標(biāo)準(zhǔn)解法。6.3 定時(shí)任務(wù)與重試機(jī)制做定時(shí)短信提醒比如每天9點(diǎn)提醒打卡可以在窗口里放一個(gè)時(shí)鐘控件周期設(shè)成60秒每次觸發(fā)時(shí)檢查任務(wù)列表到時(shí)間了就調(diào)用發(fā)送子程序。注意時(shí)鐘控件本身也是主線程的定時(shí)檢查邏輯要輕量不要在時(shí)鐘事件里直接做網(wǎng)絡(luò)請(qǐng)求而是啟動(dòng)一個(gè)子線程去發(fā)送。發(fā)送失敗的重試也很重要。我的建議是加一個(gè)“最大重試次數(shù)”和“重試間隔”。比如失敗后隔10秒重試一次最多重試3次。重試時(shí)要避免用同一時(shí)刻戳拼出的簽名因?yàn)椴糠制脚_(tái)會(huì)校驗(yàn)時(shí)間戳?xí)r效比如要求5分鐘內(nèi)有效重試前要重新取時(shí)間戳并重新簽名。還有一個(gè)小優(yōu)化把發(fā)送記錄寫(xiě)入本地SQLite或文本數(shù)據(jù)庫(kù)包括發(fā)送時(shí)間、手機(jī)號(hào)、模板、返回碼、請(qǐng)求ID。日后對(duì)賬、排查、統(tǒng)計(jì)都有據(jù)可查不用靠記憶。最后分享一個(gè)我自己的小習(xí)慣在正式接短信API之前我會(huì)先去平臺(tái)控制臺(tái)打開(kāi)“測(cè)試模式”用腳本批量生成20條測(cè)試參數(shù)把簽名的邊界情況全跑一遍——包括空手機(jī)號(hào)、11位手機(jī)號(hào)、帶86前綴的手機(jī)號(hào)、中文變量、超長(zhǎng)變量、特殊字符。這一套測(cè)下來(lái)能暴露的問(wèn)題基本都暴露完了。你把這些經(jīng)驗(yàn)沉淀成自己的測(cè)試用例以后換服務(wù)商、改模板、調(diào)密鑰都有了一套現(xiàn)成的回歸手段。短信功能本身不復(fù)雜復(fù)雜的是你愿不愿意把細(xì)節(jié)做扎實(shí)。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
日韩免费一级性爱视频| 亚洲综合113页| 久草新在线| 日本熟妇人妻中出视频| 麻豆精品三区视频| 色婷婷五月综合激情中文字幕| 1区2区3区中文字幕日韩| 中国操逼无码| 精品二区三四区五电影 | 91精品91久久久久77777俄罗斯老妇姓x| 强奸乱伦动态污图免费| 五月综合激情网| 欲色综合| 青青草日本中文字幕| 黄aaaaaaaaaaaaaaaaaa色网站| 91视频女生| www.久久99| 蜜臀久久99精品久久久久久婷婷 | 777超碰| 欧美性爱网97| 久久黄黄| 日韩AV无码中文一区二区| 一二三四区电影| 超碰在线在公开超碰在线在公开| 久久有码| 色综合久| 蜜臀久久在线视频| 97Ai亚洲| 91性感网站| 色婷婷狠狠| 国产午夜无码片在线观看影视| 色色97爱| 色吧5亚洲| 亚州日韩97| 国产嫩草精品A88AV在线| 五月天激情小说网| 炮色五月| 日韩国产品视频中文字| 久久久99久9| 国模艳艳啪啪一区| 欧美成人性爱视频在线播放| 精品一区二区三区免费古装毛片香港三级日本三级人妇 | 91天堂网| 人人操 欧美| 84YTCOM性无码| 欧美视频一区二区三区| 欧美淫乱视频| 中文字幕一区二区三区四五区| 91在线综合网| 亚洲综合图片在线| 啊灬快c我灬啊灬用力灬啊灬-国产精品性做久久久久久-成人AV | 国产白丝在线| 91久久久久久久| 日韩 人妻 精品| 亚洲国产一区二区三区四区国产| 亚洲乱码国产乱码精网站| 密臀视频三区免费网站| 国产精品农村妇女| www.男人天堂| 久久大香蕉97| 婷婷爽人人婷婷爽视频| 亚洲97资源| 加勒比aⅴ| 99re这里只有精品2| 一本大道青青| 国产粉嫩出水在线播放| 久久天天摸| 欧美日综合| 久久九九网| 91在线综合网| 人妻熟妇一区二区三区| 精品视频一区二区| 亚洲无码精品AV久久久| 黄色视频特级毛片| 成年男人的天堂| 十八禁一区二区无码观看| 麻豆一区二区AV天美| 亚洲日韩国产精品| 性爱综合一区二区| 亚洲图片日本AⅤ欧美在线| 国产精品午夜AV完会免费 | 亚洲国产成人精品无码专区| 麻豆国产尤物AV| 超踫中文字幕| 手机不卡视频不卡在线一二三区| 天堂资源欧美| 少妇熟女一区二区三区| 国产高清成人免费视频| 天天看,天天做| 美骚妇av高清在线| 天天插网| 色五月网址| 天天影视之亚洲综合网| 天天夜夜rb| 手机在线播放国产福利| 日韩精品中文字幕二区| 色欧洲97| 亚洲欧美人妻| 婷婷五月天影院| 欧美激情亚洲情色| 国产传媒操逼视频| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 999精品女人| 黄色AAAAA欧美| 欲色影视综合吧| 99只有精品| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 黄色高清无码无码破解免费暗网| 日韩人妻网站| 99re免费视频精品全部| 一本色道久久天天射天天干| 人人射人人操人人摸| 丝袜无码a片| 精品对白久久不卡| 婷婷伊人一区| 日韩成人在线性爱视频| 五月婷在线| 欧美丝袜亚洲| 亚洲天堂 视频你懂的| 亚洲欧美啪啪| 青青草日韩无码| 国产9熟妇视频网站| 自拍视频一区在线观看| 麻豆60秒| 日韩欧美日韩| 久久这里都是精品| 人妻天堂三区| 综合干干干av久久久综合网| JULIA一区二区三区在线播放| 欧美亚洲激情一二三| 岛国激情视频软件| yy少妇精品久久| 午夜AV人气不卡| 999久久久久久久精| 亚洲综合在线91| 天天天天操| 国产一区二区久久| 黄片www.| 日本伦乱九九九综合 | 84YTCOM性无码| 国产精品 午夜福利| 好吊色综合| 91美腿丝袜在线观看| 青娱乐999| 国产综合久久久鬼色| 精品人妻一区二区三区四区| 99999精品成人| 色情乱伦AV| 欧美在线视频播放| 97色婷| 国产强奸无码乱伦| 98福利在线视频| 国产自偷自拍一区| 精品人妻一区二区视频| 好湿好紧视频| 日韩精品99久久久久久中文字幕| 婷婷色综合| 国产在线综合网| 北野未奈加勒比av| 少妇高潮对白在线观看| 午夜视频黄| 欧美,日韩,中文,另类| 小泽玛利亚一二三| 精品国产一区二区三区香蕉欧美| 蜜臀久久久99久久久久 | V A在线| 亚洲日韩97| 欧美另类色图片| 淫荡少妇免费| 日本熟女不卡视频| 久久岛国| 亚洲一区二区av| 亚洲综合九| 久久久爆乳翘臀一线天伦理视频| 黄色AAAAA欧美| 欧美97av| 天天日熟妇| 少妇天堂网络| 色999人与兽| 午夜理论片在线观看免费| 91欧美综合| 日本天堂在线播放| 又黑又大又粗| 69精品久久久久中文字幕| 婷婷探花久久精品一区| 啊啊啊好湿久久| 九九热精品| 亚洲成人久久一区二区| 91五十路| 国产精选视频| 色综合1991| 久久久网一区| 狠狠干综合| www.久久最新地址| 激情五月婷婷| 日本在线不卡一二区| 九月伊人中文字幕| 精品久| 97国产|免费| 国产精品一级二级在线| 人妻丝袜肏逼| 亚洲凸凹超碰成人| 天天综合91入口| 九九九九九九免费视频| 亚洲国产精品99久久久| 亚洲精品成人动漫在线| 国产精品亚洲天堂网址| 奇米四色影视777久久久| 国产肏逼网站| 97无码视频在线播放| 男人的午夜天堂| 色综合天天爱去电影网| 国产精品 久久久精品一牛| 狠狠爱综合网| 久久国产在线一区二区| 18禁网站在线播放| 欧美一区二区观看在线| 五月天激情小说| 人妻一区二区三区四区视频| 久久精品视频在线观看| 九九九九亚洲| 蜜臀久久99精品久久久久久无删减 | 日韩精品资源专区二区| 久久精品| 一级做受视频免费是看美女| 中文字幕高清精品一区| 亚洲成a人在线观看久| 欧美黑人精品在线播放| 国产成人自拍视频在线| 久久五月丁香| 91 在线亚洲| 99久久com免费视频′| 婷婷色一区| 99re8超碰| 亚洲综合图色在线| 欧美热图99| 97超碰中文在线| 成人26uuu| 97任你吞精| 五月丁香综合| 嫩草伊人久久精品| 欧美色图校园春色| 黄片qw| 欧美三级中文字幕hd| www.色五月| 日韩紧密久久| 东京热伊久| 骚女天天综合网| 人妻偷拍一区二区三区| 久久久久9999| 午夜综合在线| 精品九九| 九九久久精品| 欧美一级专区免费大片| 久久久久9999| 91九色精品熟女内射| 久久人妻四季| 日本一线产区和二线产区伦理片| 久操婷婷| 亚洲综合九| 日韩在线电影| 黄色高清无码无码破解免费暗网| 国产传媒一区日韩| 97色97干| 人人操AV| 久久亚洲一区女同性恋中文字幕 | 亚洲97久久精品亚洲| 久久香蕉网| 殴洲老熟女| 亚洲欧美不卡线| 日韩精品 视频一区二区| 天天综合色电影| 蜜乳av一区二区三区四区不卡| 欧美色图91| 很很热性爱视频| 午夜精品久久久久| 成人线上超碰| 无码精品久久| 成人熟女视频一区二区三区| 国产综合久久久麻桃个| 色婷婷电影网| 91色夜| 欧美人人AAA| 亚洲精品一卡二卡三卡福利视频网站| 日本操逼视频不卡直接放| 亚洲日本成人动漫| 日韩射精| 久久久av爱| 91少妇| 曰韩精品九九无码| 欧美美女视频| 狠狠久久亚洲欧美专区| 青青色在线观看| 六月丁香五月婷婷| 91亚洲欧美激情| 亚洲欧美中文日韩视频中国语| 亚洲男人天堂2013| 久久HD| 久久久久久人| 亚洲综合五月天婷婷丁香| 色婷婷日韩精品一区二区三区| 久久亚洲AV无码专区国产精品| 亚洲网污污污污| 久久riav中文精品| 本道在线| 亚洲欧美大| 欧美AB在线| 精品人妻一区二区三区-国产精品 一个人在线看的黄色电影网站 | 99精品丰满人妻无码| 91社操逼| 91天天综合在线观看| 日亚韩精品视频二区三| 91久热| 婷婷精品| 国产福利视频精品视频| 欧美综合 站| 亚洲日韩成人性爱视频| 探花视频免费观看国产专区| 国产精品电影推荐| 五月婷婷色| 免费国产视频| 一区二区视频你懂的| 蜜桃视频成a人v在线| 一起草欧美| 日韩欧美水蜜桃人妻| 乱伦熟女区| 91亚洲欧洲| 亚洲伊人久久精品狠狠在线| 天天视频综合在线观看视频| 一区二区三区四区理论片| 99999无码| 青青操综合网| 综合伊人网12色| 亚洲男人天堂视频| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 亚洲无线观看久久| 欧美九一精品久久久熟妇| 婷婷五月天影院| 18禁免费视频| 国产一区二区成人av在线播放| 操少妞在线视频| 超碰超碰95| 国产精品色片一区二区| 亚洲色图综合| 久久精品国产97欧美精品亚洲| 精品国产乱码久久久久A| 97精品熟女少妇一区| 九久久精| 一区二区三区色综合| 激情综合五月婷婷| 欧美国产欧美在线观看| 亚洲综合九九| 黄久久| 亚洲 另类 丝袜 自拍 动漫| 亚洲AV免费在线观看| 欧美东京热精品A∨| 亚洲一区二区在线观看91| 很狠操| 激情终合网| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 亚洲男人天堂视频| 超碰97在线中文| 少妇毛片久久| 久久人妻四季| 日本熟妇一区二区三区| 精品超碰国产| 丁香五月天啪啪| 国产偷拍自拍在线视频| 伊人久久大香线蕉无码| 国产精品高清2021在线| 人人爱人人乐人人操| 色97干| 秘书高跟黑色丝袜国产91在线| 97看操| 日本丝袜美腿人妻九九| yiren97| 桃色六月天| 青青草日本无码| 女优视频第10页| 这里只有精品久久| 九九综合| 久久亚洲人妻| 精品国产久久乱码| 干b网| 99re这里只有精品2| 少妇蹲下买菜露大唇0| 青青欧美| 日日日日做夜夜夜夜做无码97| 啊啊啊要高潮了| 无码男人天堂| 欧美最婬乱婬爆婬牲视频| 日韩欧美~中文字| 久久久九九| 无码人妻毛片丰满熟妇精品区| 伊人四虎综合| 天天综合网~91| 久久男人的天堂| 黄色大片视频在线免费看| 亚洲无992tv| 久久性爱视频免费看| 视频一区二区三区精品| 亚洲欧洲精品视频发布| 亚洲av在线免费观看| 五月久久HDAV| 久久日本熟女精品一区| 色777999综合| 激情小说亚洲| 色就色综合| 熟女视频久久| 日韩美一区| 欧美aⅴ99久久黑人专区| 亚洲图片在线| 国产激情视频一区区三区| 国产视频一区二区三区在线免费观看 | 色一色综合网| 欧美少妇一区二区三区| 加勒比五月天| 97国产人人| 岛国网址国产 | 噜噜噜亚洲精| 99久久亚洲精品无码毛片潘甜甜| 99啪啪视频| 亚洲熟女偷拍在线观看| 国产精品白丝| 丁香五月自拍| 欧美少妇高潮久久91| 蜜臀中文无码午夜| 亚洲国产精品9999在线观看| 欧美黄页在线| 夜夜无码| 亚洲暴力强奸AV| 九色 人妻 大香蕉| 日韩丨制服丨中文|在线| 熟妇熟女一区二区三区| 粉嫩av在线一区二区| 综合网欧美在线| 久久超碰av在线| 97超碰日韩| 亚洲中文日韩精品| 国产精品suv一区| 91亚洲影视| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 欧美性Fer办公室秘书| 特色a在线上| 亚洲成人美女无吗| 精品久久大胆人体| 国产午夜精品理论片一二三区区| 欧美精品999| 色网综合网| 亚洲欧美日韩制服另类| 久久最新免费视频23| 九九久精品| 逼操网站| 无码久| 亚洲av无码国产精品字幕| 95人妻爽爽人人做人人澡| 青操影院| 一类无码操逼视频| m欧洲一级午老| 久久久久久网址| 国产九月婷婷| 蜜臀99精品国产高清在线观看| 欧美精品自慰系列寂寞少妇| 91欧美巨乳| 十八禁的黄污污免费网站| 九九热超碰97亚洲最新香蕉| 搡老熟女免费视频| 男人天堂站| 国产亚洲色婷婷久久99精品91 - 百度| 色官网在线| 208天天久久九九九| 全免费a敌肛交毛片免费| 蜜桃丰满熟妇av无码区不卡| 国产精品爽爽va在线观看98| 日韩av情韩国爱禁区av一区二区| 午夜120视频在线观看| 国产久久一区二区| 国产精品一二三在线看| 色噜噜人妻av中文字幕| 97WW精品| 超碰国产精品久| 一区二区三区色综合| 亚洲高清国产理伦片| 中文字幕伊人| 色五月综合网| 开心五月婷婷激情| 三四中文字幕| 肥臀熟女福利视频一区二区| 日本免费中文字幕在线| 蜜臀网址在线| 国产日本熟女顶级一区二区三区视频| 日韩性爱啪啪视频| 少妇色综合| 国产精品秘 福利姬在线观看| 新怡红院| 国产a级精品| 久操网线| 亚洲色91| 亚洲s色图| 精品一区二区啪啪啪| a片在线播放| 97av,com| 欧美色图亚洲色图成人在在线| 高清国产成人无码| 91精品丝袜久久久久久| 青青草久久一区网| 国产男女无套视频免费观看| a片 xxxx受爽视频| 美女黄码视频午夜| 色综合一区二区三巨| 日韩乱伦AⅤ| 男人的天堂com| 97 九色| 五月天婷婷色| 国产av又色又爽又黄| 免费视频97| 国产乱码久久久久久| 狠狠久久亚洲欧美专区| 先锋色眉乱伦资源| 17c嫩草51久久91嫩草| 青青草玖玖爱| 麻豆天美传媒在线视频天堂| 婷婷99| 超碰成人公开| 国产无码精品无码| 美女t无毒不卡不卡| 秋霞午夜视频一区二区| 高凊专区人人操| 久操精品网| 99精品视频在线观看免费| 欧美色涩| 97在线免费视频观看| AV色五月| 日韩欧美蜜桃精品久久中文字幕久久| 刺激精品视频| 国产怡红院| 好吊妞转入那个网| 韩国黄色片精品久久久| 国产精品婬乱一级毛片彝族| 青娱乐老司机视频| 蜜臀一区二区三区在线| 91熟女丨老女人| 伊人在线大香蕉二。| 2000亚洲男人天堂| 97日视频| 伊人久久大香蕉线AV五月天| 青青爽| 午夜精品99久久久久传媒| 久久草大香蕉| 婷婷久久综合| 欧苏综合色综合| 婷婷月色| 熟妇高潮一区二区免费视频| 日韩97超碰中文字幕| 亚洲老熟妇xxx| 天天综合精品| 亚洲图片 91| 久久久草成人网站久久久草成人久久久草久久久 | 青娱乐91| 亚洲图片欧美| A级国产欧美激情在线| 大学生美女口爆| 国产高清成人传媒影视| 激情五月天丁香社区| 天天看,天天做| 伊人五月天| 一区二区激情国产熟女| 又黄又爽在线观看视频| 97网址www| 九九成人精品| 色情婷婷久久五月天| 久久亚洲日韩国产欧| 午夜啊啊| 免费人成毛片乱码| 欧美性爱日韩性爱| 97香蕉碰碰人妻国产欧美| 91美女丝袜诱惑视频| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 欧美久热| 国产传媒1234区| 日韩不卡网操逼中文字幕日韩| 亚洲国产亚洲天堂| 熟妇色99| 国产9 9在线 | 亚洲| 亚欧日韩成人| 亚洲欧美精品一区天堂久久 | 亚洲一本色码中文字幕| 中出20p| 久久久久久9| 久久久久久一日韩字幕无码| 中文字幕 国产区| 伊人久久亚洲中文字幕| 久草久日| 大香蕉一级黄色片久久| 国产日韩欧美亚洲精品95| 日本久久精品| 欧美乱妇狂野欧美在线视频| 九九九一二三| 亚洲 自拍偷拍 欧美| 婷婷中文字幕| 狠色婷婷久久一区二区三区_| 亚洲综合色图欧美| 嫩呦国产一区二区三区AV| 在线性黄高清免费视频| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 欧美日韩人人精品| 国产97av| 超碰在线观看av不卡| 久久久久久国产精品| 欧美亚洲日韩16色| 超碰97护士| 国产小u女在线观看| 96精品久久久久中文字幕| 国产熟码AV| 亚洲免费成人在线高清无码视频 | 亚洲操操操无码| 欧美日韩另类在线| 啊好大好舒服| 超碰色97| 激情看片网站| 亭亭在线资源| 欧美另类精品xxxx| 99热导航| 欧美18老人禁| 亚洲一二三精品久久网 | 色色99| 极品少妇久久久久| 亚洲第一黄色av网站| 色第一页| 久久男人天堂| 日韩无码嘿咻黑热久| 亚洲丝袜二区在线| 7777欧美成是人在线观看| 亚热日本熟女| 国产宅男宅女在线观看| 老熟妇综合| 欧美福利视频啊啊啊啊| 九九久久一区二区三区| 蜜臀久久99精品久久久久久无删减| 欧美99热| 干B网| 亚洲 综合 欧美| 久久久久白虎| 午夜免费视频1000| 久热一区二区| 色777999综合| 五月天黄色激情视频| 人妻素股| 丁香五月天激情| 果冻传媒A片麻豆熟妇人妻| 日韩有码专区| 91精品丝袜久久久久久无码人妻| 91爰爱欧美| 无码高清国产AV| 99精品伊人| 18禁精品网站在线看| 亚洲激情天堂网| 人人插人人摸人人| 亚洲脚交| 天堂精品在线| 国产兽交视频在线播放| 久久男人网| 日本欧美一区二区三区免费| 乱色老一区二区三区的观看方式 | 蜜桃在线观看一区二区三区| AV和黑人在线播放| 亚洲国产精品久久久久婷婷老年| 日本国产成人亚洲精品无码| 美女91| 91在线综合网| 91社操逼| 999久久久九九九九| 不卡码视频| jizzjizz欧美| 91色插| 白丝jkav| 日韩成人大片在线观看| 97免费视频在线观看| 久久久久久波多野吉衣高潮| 国产又粗又长又爽又色| 无码天堂| AV色五月天| 屌逼传媒| 欧美亚洲尤物久久| 人妻欧美| 久久久久921| 日韩一级二级| 超碰在线观看av不卡| 欧美日韩制服| 性生活无遮挡纯毛片在线看| 亚洲av乱伦色图网站| 婷婷久久五月综合激情| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 日韩人妻一区二区精品| 日韩欧美亚洲自拍偷拍| 精品白丝一区| 蜜奶av| 99精彩视频| 国产精品久久久久久无码红治院| 午夜噜噜噜| 久啪| 亚欧美天堂在线| 丁香九月激情| 国语国产操逼伊人AV网| 亚洲欧洲成人在线电影| 老熟女阿 国产91| 亚洲精品蜜桃久久久久久久| 9/A片| 国产成人无码网站在线视频| 欧美精品一区二区少妇免费A片| 狠狠爱夜夜| 破处bbq| 亚洲男人的天堂在线看| 禁止观看美女黄| 亚洲激情四射| 五月婷婷久久综合| 人人摸人人摸人人干| 亚洲男人久久综合天堂| 精品九九九九| 男人久久天堂| 天堂综合网| 91高清欧美| q2午夜理论片夜色av| 色 亚洲 91| 久久久国产精品人妻丝袜| 操九九九九九九| 七久久久| 亚洲图片欧美91N| 天天插天天插| 天天综合精品| 日韩精品99999| 伊人五月天| 老鸭窝黄色视频网站| 一道本东京热加勒比一区二区三区 | 久久久99999久网站| 亚洲视频一二区| 麻豆AV96熟妇人妻| 草久久久| 亚洲宗合网| 高清不卡 中文 人妻| 日韩久草| 无码人妻毛片丰满熟妇精品区| 婷婷九月国产| 玖色av| 四虎影视欧美| 国产激情视频一区区三区| av网站免费看| 久久精品福利影院| 丰满岳乱妇一区二区三区| 久久久久亚洲?V片无码V| 国产AV精久久| 99热这里只有精品地址| 97在线精品| 久久超碰爱| 久久久久久性爱视频| 91网站18在线| 99热99re6国产在线播放| 中文字幕av片| 欧美性夜| 东京热视频网| 亚洲一区二区精品福利| 日本久久99| 人妻天天爽夜夜爽精品2| 欧美性爱一区| 熟女熟妇一区二区三区视频| 婷婷激情四射| heyZO天然素人无码AⅤ专区| 91爆操视频| 色九九九九久| 99热导航| 天天摸天天操视频| 欧美传媒| 中文字幕精品区先锋资源| 日本欧美成人片AAAA| 熟妇最新先锋一二三区| 啊啊啊要高潮了| 91欧美网| 思思热在线cao| 婷婷香蕉欧美在线一区二区三区| 青青青青草av在线观看| 久热这里| 国产精品99精品视频网站| 美女黄频a美女大全免费皮| 欧美亚洲综合色| 久日91在线| 亚洲色图欧美| 午夜久久无码1000合集| 东北女人av| 囯产精品强| 中文字幕一区二区视频在线观看| 婷婷丁香五月天综合东京热| 欧美另类色图片| 天天综合麻豆视频| 人人爱人人乐人人操| 伊人色综合网电影| 一区二区三区四区久久视1| 亚洲欧美日韩不卡人妻| av天堂天堂av日韩| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 国产AV高清AV无码| 性色av一区二区| 97亚洲综合影院| 另类专区在线观看| 99re在线精品78| 久久中文字幕不卡人妻| 久久婷婷五月综合| 91美女視頻| 91亚洲色人| 性感女人网页在线观看视频| 天堂网亚洲区手机版| 国产精品自拍xxxx| 嫩草伊人久久精品| 亚洲天天综合| 久久思思热| 日韩天天综合| 国产伦乱91| 国产精品高朝久久久久久久| 日本狂喷奶水在线播放212| 欧美一区二区情色| 91内射| 中文字幕一区 二区三四五 区日 日骚| 国产91专区| 日韩欧美一级特黄大片| 九九九精品一区二区无码| 亚洲国产精品成人综合| 日本美女性生活久久久久久久| 大鸡巴久久| 久久曰曰| 伦理第一页| 亚洲在钱| 国产精品激情久久久久久久| 一区二区视频你懂的| 2017人人操,人人摸| 国产天天看| 午夜视频好爽啊| 日韩懂色网| 九九干| 夜夜爽爽夜夜精品视频| 韩国成人精品久久久免费看| 久久精品中文| 国产精品宅男免费| 呻吟 欧美 日本 中出| 国产呦精品一区二区三区下载| 久久久久久中文| 成人午夜无码视频| 91bbbbbb| 久久久久久久久久久97| 国产第12页| 超碰97在线色男人??| 国产高清精品福利| 亚洲黄色电影| 久久国产精品91| 天天日天天干天天色| 欧美亚洲宗合色性图| 插日本熟女视频| 天天操妹子| 啊啊啊啊视频免费| 天天弄天天操| 性生活性生大爱77AV国产| 亚洲宅男天堂| 呦呦影院| 青青草好吊| 国产亚洲人妻综合日韩 久久| 91处女在线观看| 精品九九九九九九九九九| 免费操逼视频下载| 欧美97爱| 涩涩久久精品| 蜜臀少妇一区二区| 八戒午夜福利理论片| 亚洲午夜蜜臀| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 1769一区| 国产超碰欧美| 亚洲免费精品一区| 黄片aaaaa一区| 亚洲天堂男人天堂| a片亚洲一本通视频| 天天干天天干天天干| 国产成人99久久亚洲综合| 欧美洲精品一级| 国产乱婷婷精品二区三区| 韩国午夜理伦三级好看| 天天综合网在线观看| 人妻丝袜肏逼| 青青草自拍视频在线播放| 人人插人人摸人人| a片自拍直播视频| 国产97综合| 日夜久久久九九九久| 人妻人人操| av在线观看不卡网站| 天美传媒婬乱在| 91碰碰| 区一二区日韩亚洲乱码av电影| 欧美刺激色黄片免费看| 伊人久久综合影院精品久久久 | 99热国产| 久干9操| 欧美一区二区三区互相| 97国产精品一区| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 操淫穴亚洲五月丁香 | 中亚黄色三级大片| 天天摸夜夜摸| 一品道视频一区二区三区| 性爱乱伦网址| 日韩在线一区二区| 久草精品国产99| 亚洲男人天堂AV| 欧美一区二区| 亚洲素人综合| 久久成人午夜狠狠| 欧美日动态视频| 国产SV一线| 丝袜狠狠草尤物人妻av91| 久久女人一区二区三区| 女人爽到高潮潮喷18禁网站| 青娱乐国产精品| 亚洲伊人a线观看视频| jizz啪啪| 国产日韩精品suv| 亚洲男人天堂网| 亚洲欧美小说| 欧美综合网| 91欧美大片| 新亚洲无码| 校园春色综合网| 91狠狠| 六月色色| julia高潮后不停追击中出| 久久老子无码午夜伦不卡| 日本操BAV| 中文字幕 国产 精品| 欧亚在线视频| 青青草天天亲夜夜操网| 日韩黄色电影网站| 日韩成人网址| 天天干,天天日| oumeisetu综合| 久久一区无码| 91欧美长吊| 欧美日韩亚洲天堂网| 国产精品不卡一区二区三区| 中文字幕AV片| 精品美女人人干| 九九九九热只有精品| 中文三一区| 国产熟妇 码视频户外直播| 探花精品 一区二区| A片大香蕉在线| 丁香六月激情| 国产成人无码高清| 狠狠狠狠狠| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 2017天天插| 久9re热视频这里只有精品| 国产中文字幕在线点播| 免费亚洲黄色视频在线观看| 亚洲操逼无码| 狠狠操天天干| 一区中文字幕二区日韩| 91久久久老司机| 2017,超碰| 欧美18老人禁| 欧美专区日本专区| 大香蕉宗合网在线| 九九九久久久久| 丰满少妇精品一区二区| 欧美天天射| 日韩 欧美 视频 在线 一区| 久9热| 亚洲精品骚逼| 久久久999国产精品| 日韩成人无码| 中文字幕aⅴ在线视频| 色婷婷六月| 1204金沙人妻懂旧版免费| 亚洲精品熟妇1区2区3区。| 亚洲无码 国产无码| 无色无码| 麻豆区99999| 97在线欧| 99re免费视频精品全部| 一级免费啪啪片| 成人综合网 欧美| 美女十八禁| 高清无码在线播放网站| 蜜臀少妇一区二区| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 天天干人妇| 亚州再线| 精品999一区二区| 亚洲五码一区二区三区| 色月天AV导航| 中文字幕丝袜| 亚洲少妇综合在线播放| 一牛影视久久久一区二区三区| 综合天天。| 欧美偷拍区| 国产欧美日韩女同性恋ww喷水精品| 麻豆国产成人精品| 大学生美女口爆| 99热精品在线播放| 激情小说亚洲视频| 涩综合导航| 天天欧美色| 亚洲欧美综合图片| 人人操,操人人| 亚洲视频一二区| 操一操摸一摸| 日日干日日| 欧美日韩亚洲少妇寂寞影院正在播放| 一类无码操逼视频| 丝袜综合| 老熟妇乱轮| 骚逼高潮久久精品| 日韩91网| hd成人一区二区在线| 久久久久网站-538在线视频-欧美永久乱码 | 91操熟女视频| 91成人精品在线播放| 欧美亚洲se91| 日韩性爱1级片视频| 男人的天堂欧美| 午夜福利国产欧美日韩夜夜| 殴美性色a级欧美| 上特色A在线| 97九色人妻| 欧美天天综合网| 熟女丝袜视频| 国产无码成人无码| 欧美熟妇视频| 亲子敌伦对白在线播放| 混色激情av| 国产区日韩区在线观看| 精品无码一区二区| 精品国产Av无码久久久亚洲| 中文字幕精品丝袜| 在线观看不卡一区二区三区| 日欧美色| 家庭乱伦国产| 我中文字幕6区 | 天天爱综合网| 爱做久久久久久| 91精品国产91熟女| 91色艳| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 亚洲色9| 午夜啪啪片| 我想要啊 啊 啊| 成人午夜无码视频| 韩国三级色呦呦| 久久精品一区| 黄页视频网站野外| 人妻喷水| 久久久九97| 国产狂喷潮在线精品| 99精品丰满人妻| 免费中文在线| 97精品在线视频| 天天干天天日天天射黄色大片| 日韩99精品视频综合区| 97超级色碰碰| 91久久精品蜜臀| 极品欧美一区二区三区| 欧美激色| 天天舔天天 | 91久久久久久久久久久| 亚欧毛片基地国产毛片基地| 久湿久久| 久久久久久亚洲精品不卡人乳 | 欧美香蕉视xxx| 福利在线观看一区二区| 加勒比中文av| 91美女看B| 又大又白奶子| 国产成年女人免费视频播放a| 天天操天天7| 天天透伊人| 久久激情亚洲精品无码?V| 夜色综合| 亚洲欧美日韩中文久久自慰| 色性综合| 综合影视国产无码| 国产精品懂色tv影视免费观看| 偷拍色图| 美女啊啊啊啊啊啊啊| 亚洲欧综合另类无码一区| 九九九免费视频| 久久久久久九九九九九九| 亚洲一二三精品久久网| 国产精品久久久久综合| 欧美综合国产精品久久丁香| 五月天精品| 麻豆一区二区三区精品| 加勒比大香蕉视频在线| 国产精品一区午夜福利| 超碰97亚洲| 久久久免费高清中文视频| 极品少妇99| 超碰97起碰| 久久东京国产精品视频| 成人a级高清视频在线观看| 大逼色网站| 加勒比综合a∨| 97超碰色屌| 丝袜美腿欧美| 亚洲日韩精品在线播放| 国产欧美日韩一区二区三区| 亚洲九九九九| 欧美成人精品欧美一级乱黄一区二…| 国产精品电影推荐| 特级大荫道BBwBBwBBW| 亚洲高潮少妇| 乱老女人一区二区视频| 免费在线观看国内色片网站网址 | 一二三四视频在线社区中文字幕| 97网址www| 98色网| 一区二区激情国产熟女| 国产农村一一级特黄毛片| 国产一区二区三区精品观看啪| 人人操天天爽| 96AV精品| 五月丁香影院| 国产成人自拍视频在线| 男女激情黄色网址| 天天日天天搞天天干| 五月天婷婷在线看| 久久久999| 亚洲图片欧美色| 91色插| 九久9精品| 欧成人精品一区二区三区| 久久有码视频| 久久香蕉国产线看观看亚洲女人 | 日骚逼视频| 欲香欲色综合天天伊人| 色狠狠一区二区三区香蕉| 疯操AV| 久久久555| 亚洲色图欧美| 丁香色狠狠色综合久久小说| 97精品国产| 亚洲日韩精品久久久久一区壹牛| 亚洲视频中文一区| 欧美一级黄色免费专区| 日韩欧美大片免费高清啪啪| 乱伦一二三| 老外又粗又长一晚做五次| 被男人吃奶很爽的毛片| 在线A日本| 日本一区二区成人在线| 91呆哥人妻| Julia在线播放亚洲久久| 91蜜臀在线久久久久| 久久超碰亚洲人| 狠狠亚洲| 国产精品69久久久久孕妇欧美 |