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":""} importtime fromtimeimportsleep importsys fromdatetimeimportdatetime importurllib.request importjson fromurllibimportparse importuuid importhttp.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")) defjuhe_sendsms(appkey,mobile,tpl_id,tpl_value): sendurl=sms_juhe_url#短信发送的URL,无需修改 params='key=%s&mobile=%s&tpl_id=%s&tpl_value=%s'%(appkey,mobile,tpl_id,parse.quote(tpl_value))#组合参数 wp=urllib.request.urlopen(sendurl+"?"+params) content=wp.read()#获取接口返回内容 result=json.loads(content) #print(result) ifresult: error_code=result['error_code'] iferror_code==0: #发送成功 smsid=result['result']['sid'] print("sendsmssuccess,smsid:%s"%(smsid)) else: #发送失败 print("sendsmserror:(%s),%s"%(error_code,result['reason'])) else: #请求失败 print("requestsendsmserror") defyzx_sendsms(to,params,temp_id): #@paramto手机号码 #@paramparams内容数据格式为数组例如:{'12','34'},如不需替换请填'' #@paramtemp_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" ifresult["code"]=="000000": #返回0表示发送短信成功 smsid=result['smsid'] print("sendsmssuccess,smsid:%s,%s"%(smsid,result['msg'])) return0 else: #返回-1表示发送失败 print("sendsmserror:(%s),%s"%(result['code'],result['msg'])) return-1 defmain(): mobile='182xxxx'#短信接受者的手机号码 tpl_value='#code#=4567' juhe_sendsms(sms_juhe_auth_token,mobile,sms_juhe_templateid,tpl_value)#请求发送短信 yzx_sendsms(mobile,['1234'],sms_yzx_templateid) if__name__=='__main__': main()
总结
以上所述是小编给大家介绍的python3.7实现云之讯、聚合短信平台的短信发送功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!