python3.7實(shí)現(xiàn)云之訊、聚合短信平臺(tái)的短信發(fā)送功能
1、云之訊平臺(tái)數(shù)據(jù)返回Json格式:
{'reason': '操作成功', 'result': {'sid': '17209241456456455454', 'fee': 1,
'count': 1}, 'error_code': 0}
2、聚合平臺(tái)數(shù)據(jù)返回Json格式:
{"code":"000000","count":"1","create_date":"2019-09-24
16:16:30","mobile":"187024545447","msg":"OK","smsid":"0f1245454545454
144545444","uid":""}
import time
from time import sleep
import sys
from datetime import datetime
import urllib.request
import json
from urllib import parse
import uuid
import http.client
#云之訊-短信請(qǐng)求url
sms_yzx_url = "https://open.ucpaas.com/ol/sms/sendsms"
#云之訊-賬號(hào)相關(guān)信息-應(yīng)用ID
sms_yzx_appid = "93649dcfexxxxxxxxxxxxxxxxxx"
#云之訊-賬號(hào)相關(guān)信息-用戶sid
sms_yzx_account_Sid = "eb6fxxxxxxxxxxxxxxxx"
#云之訊-賬號(hào)相關(guān)信息-密鑰
sms_yzx_auth_token = "027xxxxxxxxxxxxxxxx"
#云之訊-賬號(hào)相關(guān)信息-短信模板
sms_yzx_templateid = "475631"
#聚合數(shù)據(jù)-短信平臺(tái)-請(qǐng)求地址
sms_juhe_url = "http://v.juhe.cn/sms/send"
#聚合數(shù)據(jù)-短信平臺(tái)-短信模板
sms_juhe_templateid = "17488"
#聚合數(shù)據(jù)-短信平臺(tái)-密鑰
sms_juhe_auth_token = "40xxxxxxxxxxxxxxxx"
#短信服務(wù)平臺(tái)(0:云之訊短信 1: 聚合短信)
sms_service_choice = 0
date = datetime.now()
print(date.strftime("%Y-%m-%d %H:%M:%S"))
def juhe_sendsms(appkey, mobile, tpl_id, tpl_value):
sendurl = sms_juhe_url # 短信發(fā)送的URL,無需修改
params = 'key=%s&mobile=%s&tpl_id=%s&tpl_value=%s'%(appkey, mobile, tpl_id, parse.quote(tpl_value)) # 組合參數(shù)
wp = urllib.request.urlopen(sendurl + "?" + params)
content = wp.read() # 獲取接口返回內(nèi)容
result = json.loads(content)
# print(result)
if result:
error_code = result['error_code']
if error_code == 0:
# 發(fā)送成功
smsid = result['result']['sid']
print("sendsms success,smsid: %s" % (smsid) )
else:
# 發(fā)送失敗
print( "sendsms error :(%s), %s" % (error_code, result['reason']) )
else:
# 請(qǐng)求失敗
print( "request sendsms error" )
def yzx_sendsms(to, params, temp_id):
# @param to 手機(jī)號(hào)碼
# @param params 內(nèi)容數(shù)據(jù) 格式為數(shù)組 例如:{'12','34'},如不需替換請(qǐng)?zhí)?''
# @param temp_id 模板Id
data = {
"sid": sms_yzx_account_Sid,
"token": sms_yzx_auth_token,
"appid": sms_yzx_appid,
"templateid": temp_id,
"param": params,
"mobile": to,
}
# 將字典轉(zhuǎn)換為JSON字符串
json_data = json.dumps(data)
#print(json_data)
#發(fā)送請(qǐng)求頭
headers = {
'Accept': 'application/json',
'Content-Type': 'application/json;charset=utf-8',
}
connect = http.client.HTTPConnection('open.ucpaas.com')
# 發(fā)送請(qǐng)求
connect.request(method='POST', url=sms_yzx_url, body=json_data, headers=headers)
# 獲取響應(yīng)
resp = connect.getresponse()
# print(resp)
# 響應(yīng)內(nèi)容
result = resp.read().decode('utf-8')
# print(result)
result = json.loads(result)
# 發(fā)送成功
# print(result)
# 如果發(fā)送短信成功,返回的字典數(shù)據(jù)中code字段的值為"000000"
if result["code"] == "000000":
# 返回0 表示發(fā)送短信成功
smsid = result['smsid']
print("sendsms success,smsid: %s, %s"% (smsid, result['msg']))
return 0
else:
# 返回-1 表示發(fā)送失敗
print("sendsms error :(%s), %s"% (result['code'], result['msg']))
return -1
def main():
mobile = '182xxxx' # 短信接受者的手機(jī)號(hào)碼
tpl_value = '#code#=4567'
juhe_sendsms(sms_juhe_auth_token, mobile, sms_juhe_templateid, tpl_value) # 請(qǐng)求發(fā)送短信
yzx_sendsms(mobile, ['1234'], sms_yzx_templateid)
if __name__ == '__main__':
main()
總結(jié)
以上所述是小編給大家介紹的python3.7實(shí)現(xiàn)云之訊、聚合短信平臺(tái)的短信發(fā)送功能,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
- python對(duì)接ihuyi實(shí)現(xiàn)短信驗(yàn)證碼發(fā)送
- 15行Python代碼實(shí)現(xiàn)免費(fèi)發(fā)送手機(jī)短信推送消息功能
- Python3實(shí)現(xiàn)發(fā)送郵件和發(fā)送短信驗(yàn)證碼功能
- python twilio模塊實(shí)現(xiàn)發(fā)送手機(jī)短信功能
- 使用C# CefSharp Python采集某網(wǎng)站簡(jiǎn)歷并且自動(dòng)發(fā)送邀請(qǐng)短信的方法
- 10 行 Python 代碼教你自動(dòng)發(fā)送短信(不想回復(fù)工作郵件妙招)
- python實(shí)現(xiàn)zabbix發(fā)送短信腳本
- python實(shí)現(xiàn)發(fā)送和獲取手機(jī)短信驗(yàn)證碼
- python使用PyFetion來發(fā)送短信的例子
- python如何使用騰訊云發(fā)送短信
相關(guān)文章
Python?操作?MongoDB數(shù)據(jù)庫的方法(非?ODM)
這篇文章主要介紹了Python?操作?MongoDB?----非?ODM的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03
Python中xmltodict模塊對(duì)XML的用法詳解
這篇文章主要介紹了Python中xmltodict模塊對(duì)XML的用法詳解,xmltodict?是一個(gè)用來處理xml數(shù)據(jù)的很方便的模塊,包含兩個(gè)常用方法parse和unparse,本文通過代碼介紹了用法,需要的朋友可以參考下2023-07-07
詳解tensorflow訓(xùn)練自己的數(shù)據(jù)集實(shí)現(xiàn)CNN圖像分類
本篇文章了tensorflow訓(xùn)練自己的數(shù)據(jù)集實(shí)現(xiàn)CNN圖像分類,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-02-02
Python read函數(shù)按字節(jié)(字符)讀取文件的實(shí)現(xiàn)
這篇文章主要介紹了Python read函數(shù)按字節(jié)(字符)讀取文件的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
Python發(fā)送網(wǎng)絡(luò)請(qǐng)求(requests)
這篇文章主要介紹了Python發(fā)送網(wǎng)絡(luò)請(qǐng)求(requests),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09
python監(jiān)控進(jìn)程狀態(tài),記錄重啟時(shí)間及進(jìn)程號(hào)的實(shí)例
今天小編就為大家分享一篇python監(jiān)控進(jìn)程狀態(tài),記錄重啟時(shí)間及進(jìn)程號(hào)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-07-07
Python如何將數(shù)字變成帶逗號(hào)的千分位
這篇文章主要介紹了Python如何將數(shù)字變成帶逗號(hào)的千分位,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05

