python3.7实现云之讯、聚合短信平台的短信发送功能

前端之家收集整理的这篇文章主要介绍了python3.7实现云之讯、聚合短信平台的短信发送功能前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1、云之讯平台数据返回Json格式:

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

2、聚合平台数据返回Json格式:

  1. {"code":"000000","count":"1","create_date":"2019-09-24
  2. 16:16:30","mobile":"187024545447","msg":"OK","smsid":"0f1245454545454
  3. 144545444","uid":""}
  4.  
  5. import time
  6. from time import sleep
  7. import sys
  8. from datetime import datetime
  9. import urllib.request
  10. import json
  11. from urllib import parse
  12. import uuid
  13. import http.client
  14. #云之讯-短信请求url
  15. sms_yzx_url = "https://open.ucpaas.com/ol/sms/sendsms"
  16. #云之讯-账号相关信息-应用ID
  17. sms_yzx_appid = "93649dcfexxxxxxxxxxxxxxxxxx"
  18. #云之讯-账号相关信息-用户sid
  19. sms_yzx_account_Sid = "eb6fxxxxxxxxxxxxxxxx"
  20. #云之讯-账号相关信息-密钥
  21. sms_yzx_auth_token = "027xxxxxxxxxxxxxxxx"
  22. #云之讯-账号相关信息-短信模板
  23. sms_yzx_templateid = "475631"
  24. #聚合数据-短信平台-请求地址
  25. sms_juhe_url = "http://v.juhe.cn/sms/send"
  26. #聚合数据-短信平台-短信模板
  27. sms_juhe_templateid = "17488"
  28. #聚合数据-短信平台-密钥
  29. sms_juhe_auth_token = "40xxxxxxxxxxxxxxxx"
  30. #短信服务平台(0:云之讯短信 1: 聚合短信)
  31. sms_service_choice = 0
  32. date = datetime.now()
  33. print(date.strftime("%Y-%m-%d %H:%M:%S"))
  34. def juhe_sendsms(appkey,mobile,tpl_id,tpl_value):
  35. sendurl = sms_juhe_url # 短信发送的URL,无需修改
  36. params = 'key=%s&mobile=%s&tpl_id=%s&tpl_value=%s'%(appkey,parse.quote(tpl_value)) # 组合参数
  37. wp = urllib.request.urlopen(sendurl + "?" + params)
  38. content = wp.read() # 获取接口返回内容
  39. result = json.loads(content)
  40. # print(result)
  41. if result:
  42. error_code = result['error_code']
  43. if error_code == 0:
  44. # 发送成功
  45. smsid = result['result']['sid']
  46. print("sendsms success,smsid: %s" % (smsid) )
  47. else:
  48. # 发送失败
  49. print( "sendsms error :(%s),%s" % (error_code,result['reason']) )
  50. else:
  51. # 请求失败
  52. print( "request sendsms error" )
  53. def yzx_sendsms(to,params,temp_id):
  54. # @param to 手机号码
  55. # @param params 内容数据 格式为数组 例如:{'12','34'},如不需替换请填 ''
  56. # @param temp_id 模板Id
  57. data = {
  58. "sid": sms_yzx_account_Sid,"token": sms_yzx_auth_token,"appid": sms_yzx_appid,"templateid": temp_id,"param": params,"mobile": to,}
  59. # 将字典转换为JSON字符串
  60. json_data = json.dumps(data)
  61. #print(json_data)
  62. #发送请求头
  63. headers = {
  64. 'Accept': 'application/json','Content-Type': 'application/json;charset=utf-8',}
  65. connect = http.client.HTTPConnection('open.ucpaas.com')
  66. # 发送请求
  67. connect.request(method='POST',url=sms_yzx_url,body=json_data,headers=headers)
  68. # 获取响应
  69. resp = connect.getresponse()
  70. # print(resp)
  71. # 响应内容
  72. result = resp.read().decode('utf-8')
  73. # print(result)
  74. result = json.loads(result)
  75. # 发送成功
  76. # print(result)
  77. # 如果发送短信成功,返回的字典数据中code字段的值为"000000"
  78. if result["code"] == "000000":
  79. # 返回0 表示发送短信成功
  80. smsid = result['smsid']
  81. print("sendsms success,smsid: %s,%s"% (smsid,result['msg']))
  82. return 0
  83. else:
  84. # 返回-1 表示发送失败
  85. print("sendsms error :(%s),%s"% (result['code'],result['msg']))
  86. return -1
  87. def main():
  88. mobile = '182xxxx' # 短信接受者的手机号码
  89. tpl_value = '#code#=4567'
  90. juhe_sendsms(sms_juhe_auth_token,sms_juhe_templateid,tpl_value) # 请求发送短信
  91. yzx_sendsms(mobile,['1234'],sms_yzx_templateid)
  92. if __name__ == '__main__':
  93. main()

总结

以上所述是小编给大家介绍的python3.7实现云之讯、聚合短信平台的短信发送功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

猜你在找的Python相关文章