1. 程式人生 > 程式設計 >python3.7實現雲之訊、聚合簡訊平臺的簡訊傳送功能

python3.7實現雲之訊、聚合簡訊平臺的簡訊傳送功能

1、雲之訊平臺數據返回Json格式:

{'reason': '操作成功','result': {'sid': '17209241456456455454','fee': 1,'count': 1},'error_code': 0}

2、聚合平臺數據返回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
#雲之訊-簡訊請求url
sms_yzx_url =  "https://open.ucpaas.com/ol/sms/sendsms"
#雲之訊-賬號相關資訊-應用ID
sms_yzx_appid = "93649dcfexxxxxxxxxxxxxxxxxx"
#雲之訊-賬號相關資訊-使用者sid
sms_yzx_account_Sid = "eb6fxxxxxxxxxxxxxxxx"
#雲之訊-賬號相關資訊-金鑰
sms_yzx_auth_token = "027xxxxxxxxxxxxxxxx"
#雲之訊-賬號相關資訊-簡訊模板
sms_yzx_templateid = "475631"
#聚合資料-簡訊平臺-請求地址
sms_juhe_url = "http://v.juhe.cn/sms/send"
#聚合資料-簡訊平臺-簡訊模板
sms_juhe_templateid = "17488"
#聚合資料-簡訊平臺-金鑰
sms_juhe_auth_token = "40xxxxxxxxxxxxxxxx"
#簡訊服務平臺(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 # 簡訊傳送的URL,無需修改
  params = 'key=%s&mobile=%s&tpl_id=%s&tpl_value=%s'%(appkey,parse.quote(tpl_value)) # 組合引數
  wp = urllib.request.urlopen(sendurl + "?" + params)
  content = wp.read() # 獲取介面返回內容
  result = json.loads(content)
  # print(result)
  if result:
    error_code = result['error_code']
    if error_code == 0:
      # 傳送成功
      smsid = result['result']['sid']
      print("sendsms success,smsid: %s" % (smsid) )
    else:
      # 傳送失敗
      print( "sendsms error :(%s),%s" % (error_code,result['reason']) )
  else:
    # 請求失敗
    print( "request sendsms error" )
def yzx_sendsms(to,params,temp_id):
  # @param to 手機號碼
  # @param params 內容資料 格式為陣列 例如:{'12','34'},如不需替換請填 ''
  # @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,}
  # 將字典轉換為JSON字串
  json_data = json.dumps(data)
  #print(json_data)
  #傳送請求頭
  headers = {
    'Accept': 'application/json','Content-Type': 'application/json;charset=utf-8',}
  connect = http.client.HTTPConnection('open.ucpaas.com')
  # 傳送請求
  connect.request(method='POST',url=sms_yzx_url,body=json_data,headers=headers)
  # 獲取響應
  resp = connect.getresponse()
  # print(resp)
  # 響應內容
  result = resp.read().decode('utf-8')
  # print(result)
  result = json.loads(result)
  # 傳送成功
  # print(result)
  # 如果傳送簡訊成功,返回的字典資料中code欄位的值為"000000"
  if result["code"] == "000000":
    # 返回0 表示傳送簡訊成功
    smsid = result['smsid']
    print("sendsms success,smsid: %s,%s"% (smsid,result['msg']))
    return 0
  else:
    # 返回-1 表示傳送失敗
    print("sendsms error :(%s),%s"% (result['code'],result['msg']))
    return -1
def main():
  mobile = '182xxxx' # 簡訊接受者的手機號碼
  tpl_value = '#code#=4567'
  juhe_sendsms(sms_juhe_auth_token,sms_juhe_templateid,tpl_value) # 請求傳送簡訊
  yzx_sendsms(mobile,['1234'],sms_yzx_templateid)
if __name__ == '__main__':
  main()

總結

以上所述是小編給大家介紹的python3.7實現雲之訊、聚合簡訊平臺的簡訊傳送功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!
如果你覺得本文對你有幫助,歡迎轉載,煩請註明出處,謝謝!