def send(self, phone_numbers, template_param): """ 发送验证码 :param phone_numbers: 电话号码 :param template_param: 模板参数 :return: """ request = CommonRequest() request.set_accept_format('json') request.set_domain('dysmsapi.aliyuncs.com') request.set_method('POST') request.set_protocol_type('https') # https | http request.set_version('2017-05-25') request.set_action_name('SendSms') request.add_query_param('RegionId', "cn-hangzhou") request.add_query_param('PhoneNumbers', phone_numbers) request.add_query_param('SignName', self.signName) request.add_query_param('TemplateCode', self.templateCode) request.add_query_param('TemplateParam', template_param) response = self.client.do_action_with_exception(request) return response
def send_sms(phone, templateParam, **kwargs): client = AcsClient(kwargs['ACCESS_KEY_ID'], kwargs['ACCESS_KEY_SECRET'], 'default') request = CommonRequest() request.set_accept_format('json') request.set_domain('dysmsapi.aliyuncs.com') request.set_method('POST') request.set_protocol_type('https') request.set_version('2017-05-25') request.set_action_name('SendSms') request.add_query_param('PhoneNumbers', phone) request.add_query_param('SignName', kwargs['SignName']) request.add_query_param('TemplateCode', kwargs['TemplateCode']) request.add_query_param('TemplateParam', templateParam) response = client.do_action_with_exception(request) # python2: print(response) print(str(response, encoding='utf-8'))
def send_code(self, code_temp, mobile, code): client = AcsClient(self.key, self.secret, self.region) #key就是你的accessKeyId,secret就是你的accessSecret,'default request = CommonRequest() request.set_accept_format('json') request.set_domain('dysmsapi.aliyuncs.com') request.set_method('POST') request.set_protocol_type('https') # https | http request.set_version('2017-05-25') #以上都是固定的 request.set_action_name('SendSms') # set_action_name 这个是选择你调用的接口的名称,如:SendSms,SendBatchSms等 request.add_query_param('RegionId', self.region) request.add_query_param('SignName', '劲诚科技') request.add_query_param('TemplateCode', code_temp) request.add_query_param('PhoneNumbers', mobile) request.add_query_param('TemplateParam', self.get_template_param(code=code)) response = client.do_action_with_exception(request) return json.loads(response.decode('utf-8'))
def sendSMS(checkcode: str, mobileNum: str): client = AcsClient(AliAccessKeyID, AliAccessKeySecret, 'cn-hangzhou') request = CommonRequest() request.set_accept_format('json') request.set_domain('dysmsapi.aliyuncs.com') request.set_method('POST') request.set_protocol_type('https') # https | http request.set_version('2017-05-25') request.set_action_name('SendSms') request.add_query_param('RegionId', "cn-hangzhou") request.add_query_param('PhoneNumbers', mobileNum.strip()) request.add_query_param('SignName', "视频审阅平台") request.add_query_param('TemplateCode', "SMS_205402562") request.add_query_param('TemplateParam', '{"code": "' + checkcode + '"}') response = client.do_action(request) if "流控" in response.decode(): return 0, "请求频率太快" else: return 1, ''
def send_Sms(PhoneNumbers, code): client = AcsClient('LTAI1yzeitQRYJLk', 'sTWMKFFx0H63ilb3YIYMlkpirE9Mhu', 'cn-hangzhou') TemplateParam = {"code": code} request = CommonRequest() request.set_accept_format('json') request.set_domain('dysmsapi.aliyuncs.com') request.set_method('POST') request.set_protocol_type('https') # https | http request.set_version('2017-05-25') request.set_action_name('SendSms') request.add_query_param('RegionId', 'cn-hangzhou') request.add_query_param('PhoneNumbers', PhoneNumbers) request.add_query_param('SignName', '小饭桌') request.add_query_param('TemplateCode', 'SMS_163432566') request.add_query_param('TemplateParam', TemplateParam) #TemplateParam: '{"code":"1111"}' response = client.do_action_with_exception(request) # python2: print(response) return str(response, encoding='utf-8')
def send_verification_sms(phone, code): client = AcsClient(access_key_id, access_secret, 'cn-hangzhou') request = CommonRequest() request.set_accept_format('json') request.set_domain('dysmsapi.aliyuncs.com') request.set_method('POST') request.set_protocol_type('https') # https | http request.set_version('2017-05-25') request.set_action_name('SendSms') request.add_query_param('RegionId', "cn-hangzhou") request.add_query_param('PhoneNumbers', phone) request.add_query_param('SignName', "创想实验室") request.add_query_param('TemplateCode', "SMS_132535024") request.add_query_param('TemplateParam', json.dumps({'code': code})) try: response = client.do_action_with_exception(request) return json.loads(response.decode('utf8')).get('Message') except: return 'request error'
def dns_record_update_sms(name, newip): if const.admin_phonenumber != '': if len(name) > 20: name = name[:15] + "--" + name[-3:] request = CommonRequest() request.set_accept_format('json') request.set_domain('dysmsapi.aliyuncs.com') request.set_method('POST') request.set_protocol_type('https') # https | http request.set_version('2017-05-25') request.set_action_name('SendSms') request.add_query_param('RegionId', "cn-hangzhou") request.add_query_param('PhoneNumbers', const.admin_phonenumber) request.add_query_param('SignName', const.sms_signature) request.add_query_param('TemplateCode', const.sms_temp_code) request.add_query_param( 'TemplateParam', "{\"pcname\":\"" + name + "\",\"newip\":\"" + newip + "\"}") response = client.do_action(request) # print(str(response, encoding = 'utf-8')) else: pass
async def send_verify_sms(phone: str, tmpl: SMSType, sys="aliyun"): """发送短信验证码""" if sys != "aliyun": raise HTTPException(status_code=406, detail="不支持的短信发送平台") val = await ctx.redis_client.get("sms_expire_" + phone) if val: raise HTTPException(status_code=406, detail="请勿频繁调用短信验证码发送") code = "".join(random.choices([str(i) for i in range(10)], k=4)) request = CommonRequest() request.set_accept_format("json") request.set_domain("dysmsapi.aliyuncs.com") request.set_method("POST") request.set_protocol_type("https") # https | http request.set_version("2017-05-25") request.set_action_name("SendSms") request.add_query_param("RegionId", config.SMS_REQ_REGION_ID) request.add_query_param("SignName", config.SMS_REQ_REGION_SIGN_NAME) request.add_query_param("TemplateCode", tmpl.to_tmpl_id()) request.add_query_param("PhoneNumbers", phone) request.add_query_param("TemplateParam", {"code": code}) resp = ctx.sms_client.do_action(request) try: ret = json.loads(resp) if ret.get("Code") != "OK": logger.error("Send verify_auth_code sms failed: %s", ret) return AuthCodeRsp(code=-1, auth=code) except json.JSONDecodeError: logger.exception("Send verify_auth_code sms failed: ") return AuthCodeRsp(code=-100, auth=code) await ctx.redis_client.set( "sms_verify_" + phone, code, expire=config.SMS_VERIFY_CODE_TIMEOUT ) return AuthCodeRsp(code=0, auth=code)
def alarm(message): logger.info("警报已触发,开始播放提示音") """ 阿里云发送 """ client = AcsClient(ACCESS_KEY_Id, ACCESS_SECRET, 'cn-hangzhou') request = CommonRequest() request.set_accept_format('json') request.set_domain('dysmsapi.aliyuncs.com') request.set_method('POST') request.set_protocol_type('https') request.set_version('2017-05-25') request.set_action_name('SendSms') request.add_query_param('RegionId', "cn-hangzhou") request.add_query_param('PhoneNumbers', "13718336593") request.add_query_param('SignName', "KisPig网") request.add_query_param('TemplateCode', "SMS_184215625") request.add_query_param('TemplateParam', "{\"message\": \"" + message + "\"}") response = client.do_action(request) logger.info("通知短信已发送%s", response) """ 又拍云发送 """ # url = "https://sms-api.upyun.com/api/messages" # headers = {'Authorization': AUTHORIZATION} # data = { # "mobile": phone_number, # "template_id": "1", # "vars": message # } # res = requests.post(url=url, data=data, headers=headers) # logger.info("通知短信已发送%s", res.text) while True: playsound('./others/alarm.mp3')
def list_container_registry_regions(self): """ list the available regions in the alibaba :return: """ try: conn = client.AcsClient( ak=self.access_key, secret=self.secret_key ) request = CommonRequest() request.set_accept_format('json') request.set_domain('cr.cn-hangzhou.aliyuncs.com') request.set_method('GET') request.set_protocol_type('https') request.set_version('2016-06-07') request.set_action_name('DescribeRegions') request.add_header('Content-Type', 'application/json') request.set_uri_pattern('/regions') body = '''{}''' request.set_content(body.encode('utf-8')) regions = conn.do_action_with_exception(request) regions = json.loads(regions) result = regions.get('data').get('regions') region_list = [] # skip regions {'cn-qingdao', 'cn-huhehaote', 'cn-chengdu'} because container service not supported in # these regions for region in result: # if 'wulanchabu' in str(region.get('regionId')) or 'cn-heyuan' in str( # region.get('regionId')) or 'cn-chengdu' in str(region.get('regionId')): # continue region_list.append(str(region.get('regionId'))) return True, region_list except Exception as e: return False, e.message
def send_sms(phone, checkcode): client = AcsClient(settings.ACCESS_KEYID, settings.ACCESS_SECRET, 'cn-hangzhou') request = CommonRequest() request.set_accept_format('json') request.set_domain('dysmsapi.aliyuncs.com') request.set_method('POST') request.set_protocol_type('https') # https | http request.set_version('2017-05-25') request.set_action_name('SendSms') request.add_query_param('RegionId', "cn-hangzhou") request.add_query_param('PhoneNumbers', phone) request.add_query_param('SignName', "KingNetwork") request.add_query_param('TemplateCode', "SMS_174986857") request.add_query_param('TemplateParam', "{\"code\":\"%s\"}" % checkcode) response = client.do_action(request) # python2: print(response) print(str(response, encoding='utf-8')) response = json.loads(response) return 'OK' if response['Message'] == "OK" else response['Message']
def send_sms(phone, code): client = AcsClient('LTAIEx3Gbdbceg2C', 'MsCoWUm3x2iXaIcvtqhQLi9yj6nHxX', 'cn-hangzhou') code = "{'code':%s}" % (code) request = CommonRequest() request.set_accept_format('json') request.set_domain('dysmsapi.aliyuncs.com') request.set_method('POST') request.set_protocol_type('https') # https | http request.set_version('2017-05-25') request.set_action_name('SendSms') request.add_query_param('RegionId', 'cn-hangzhou') request.add_query_param('PhoneNumbers', phone) request.add_query_param('SignName', '北网实训组') request.add_query_param('TemplateCode', 'SMS_165745016') request.add_query_param('TemplateParam', code) response = client.do_action(request) # 开始向手机发送验证码 # python2: print(response) print(str(response, encoding='utf-8')) return str(response, encoding='utf-8')
def getAliyunSlbIp(type='ip', account='', passkey='', endpoint=''): client = AcsClient(account, passkey, endpoint) request = CommonRequest() request.set_accept_format('json') request.set_domain('slb.aliyuncs.com') request.set_method('POST') request.set_protocol_type('https') # https | http request.set_version('2014-05-15') request.set_action_name('DescribeLoadBalancers') request.add_query_param('PageSize', '100') response = client.do_action(request) res = json.loads(str(response, encoding='utf-8')) ip = [] ids = [] for i in res['LoadBalancers']['LoadBalancer']: ip.append(i['Address']) ids.append(i['LoadBalancerId']) if type == 'ip': return ip else: return ids
def send_sms_code(phone, code): # coding=utf-8 client = AcsClient('LTAIRiQGIywYBeYN', 'ZOHiNBYPr72dCFog2fLU5Pu9RvVAIf', 'cn-hangzhou') request = CommonRequest() request.set_accept_format('json') request.set_domain('dysmsapi.aliyuncs.com') request.set_method('POST') request.set_protocol_type('https') # https | http request.set_version('2017-05-25') request.set_action_name('SendSms') request.add_query_param('RegionId', "cn-hangzhou") request.add_query_param('PhoneNumbers', phone) request.add_query_param('SignName', "Disen工作室") request.add_query_param('TemplateCode', "SMS_128646125") request.add_query_param('TemplateParam', '{"code":"%s"}' % code) response = client.do_action_with_exception(request) # python2: print(response) print(str(response, encoding='utf-8'))
def duanxin(telephone): client = AcsClient('LTAI4FvQou3xqP1WA96rPEpA', 'BdwA6BY0oJOx3EB4gltWPrGKkkbVZf', 'cn-hangzhou') s='' for i in range(4): s+=str(random.randint(0,9)) message = "{"+"code:"+s+"}" request = CommonRequest() request.set_accept_format('json') request.set_domain('dysmsapi.aliyuncs.com') request.set_method('POST') request.set_protocol_type('https') # https | http request.set_version('2017-05-25') request.set_action_name('SendSms') request.add_query_param('RegionId', "cn-hangzhou") request.add_query_param('PhoneNumbers', telephone) request.add_query_param('SignName', "生鲜电商注册验证码") request.add_query_param('TemplateCode', "SMS_193240537") request.add_query_param('TemplateParam', message) response = client.do_action(request) # python2: print(response) print(str(response, encoding = 'utf-8'))
def send_sms(mtname, phone): client = AcsClient('LTAImDkHGeA9p55u', 'XfVTFrwBYyJQUS8oziMWw6a3LrjAr6', 'cn-hangzhou') request = CommonRequest() request.set_accept_format('json') request.set_domain('dysmsapi.aliyuncs.com') request.set_method('POST') request.set_protocol_type('https') # https | http request.set_version('2017-05-25') request.set_action_name('SendSms') request.add_query_param('RegionId', "cn-hangzhou") request.add_query_param('PhoneNumbers', phone) request.add_query_param('SignName', "王刘奇") request.add_query_param('TemplateCode', "SMS_190271189") # 您的${mtname}已于${submittime}获取成功,特此通知 TemplateParam = { 'mtname': mtname, 'submittime': datetime.datetime.today().strftime("%Y-%m-%d %H:%M:%S") } request.add_query_param('TemplateParam', json.dumps(TemplateParam)) response = client.do_action(request) return str(response, encoding='utf-8')
def send_sms(self, phone, message): """ 发送短信 :param str phone: 目标手机号 :param str message: 消息内容 :return: 发送成功返回"OK",否则返回False """ request = CommonRequest() request.set_accept_format("json") request.set_domain("dysmsapi.aliyuncs.com") request.set_method("POST") request.set_protocol_type("https") # 协议http或https request.set_version("2017-05-25") # 短信接口版本 request.set_action_name("SendSms") # 接口名 request.add_query_param("RegionId", RegionId) request.add_query_param("SignName", SignName) request.add_query_param("PhoneNumbers", phone) request.add_query_param("TemplateCode", TemplateCode) request.add_query_param("TemplateParam", self._get_params(message)) response = self.client.do_action_with_exception(request) return json.loads(response)["Message"]
def alarm(message): message = message.replace('.', '') print(message) """ 阿里云发送 """ client = AcsClient(ACCESS_KEY_ID, ACCESS_SECRET, 'cn-hangzhou') request = CommonRequest() request.set_accept_format('json') request.set_domain('dysmsapi.aliyuncs.com') request.set_method('POST') request.set_protocol_type('https') request.set_version('2017-05-25') request.set_action_name('SendSms') request.add_query_param('RegionId', "cn-hangzhou") request.add_query_param('PhoneNumbers', PHONE_NUMBER) request.add_query_param('SignName', "KisPig网") request.add_query_param('TemplateCode', "SMS_184215625") request.add_query_param('TemplateParam', "{\"message\": \"" + message + "\"}") response = client.do_action_with_exception(request) print("通知短信已发送%s", response)
def __sendTo(self, phone, contents): request = CommonRequest() request.set_accept_format('json') request.set_domain('dysmsapi.aliyuncs.com') request.set_method('POST') request.set_protocol_type('https') # https | http request.set_version('2017-05-25') request.set_action_name('SendSms') request.add_query_param('RegionId', "cn-hangzhou") request.add_query_param('PhoneNumbers', phone) request.add_query_param('SignName', "四川大学网络空间安全学院") request.add_query_param('TemplateCode', "SMS_185812485") request.add_query_param('TemplateParam', contents) print(contents) response = self.client.do_action(request) print(str(response, encoding='utf-8')) # if __name__ == '__main__': # msg = Message() # msg.send('novel', '0.902')
def send_sms(phone_number, sign_name, template_code, template_param=None): if isinstance(phone_number, (list, tuple, set)): return send_sms_batch_number(phone_number, sign_name, template_code, template_param) request = CommonRequest() request.set_accept_format('json') request.set_domain('dysmsapi.aliyuncs.com') request.set_method('POST') request.set_protocol_type('https') # https | http request.set_version('2017-05-25') request.set_action_name('SendSms') request.add_query_param('RegionId', "cn-hangzhou") request.add_query_param('PhoneNumbers', phone_number) request.add_query_param('SignName', sign_name) request.add_query_param('TemplateCode', template_code) if template_param is not None: request.add_query_param('TemplateParam', template_param) response = get_client().do_action_with_exception(request) try: return json.loads(response) except Exception: return response
def dataworks_api_check_dag(accesskey_id, accesskey_secret, region_id, projectname, flowname, dag_id): client = AcsClient(accesskey_id, accesskey_secret, region_id) request = CommonRequest() request.set_accept_format('json') request.set_domain('dataworks.aliyuncs.com') request.set_method('POST') request.set_protocol_type('https') # https | http request.set_version('2018-06-01') request.set_action_name('SearchManualDagNodeInstance') request.add_query_param('ProjectName', projectname) request.add_query_param('DagId', dag_id) response = client.do_action(request) js = json.loads(response) status = 'Failed and unknown' if 'ErrCode' in js: if js['ErrCode'] == '11020293069': status = 'dag_id is not validated' if js['ErrCode'] == '0': status = 'Succeed' return js, status
def create(self): request = CommonRequest() request.set_accept_format('json') request.set_method('POST') request.set_protocol_type('https') # https | http request.set_domain('cs.cn-beijing.aliyuncs.com') request.set_version('2015-12-15') request.add_query_param('RegionId', "cn-beijing") request.add_header('Content-Type', 'application/json') request.set_uri_pattern( '/api/v2/clusters/c970e25147efc4f9e98b4b1b73c9822a7') body = { "count": self.count, "worker_data_disk": self.worker_data_disk, "key_pair": self.key_pair, "worker_instance_types": ["ecs.g5.6xlarge"], "worker_instance_charge_type": "PostPaid", "vswitch_ids": ["vsw-2ze7mbfg62o3dqfv6rbkz"], "tags": [{ "key": self.tag_key, "value": self.tag_value }] } request.set_content(json.dumps(body)) client = AcsClient(self.access_id, self.access_secret, 'cn-beijing') try: response = client.do_action_with_exception(request) print(str(response, encoding='utf-8')) except ServerException as e: print(e) except ClientException as e: print(e)
def sms_query(send_at, phone, bizid, out_id) -> dict: """ 短信结果 """ national = phonenumbers.parse(phone, None).national_number send_date = time_floor_ts(send_at).format('YYYYMMDD') is_dev_fake = bizid.startswith('dd-mock-') if is_dev_fake: mock_status = random.randint(mc.SMSStatus.Waiting, mc.SMSStatus.Success) error_code = 'DELIVERED' if mock_status == mc.SMSStatus.Success else f'mock-{mock_status}' result = { 'OutId': out_id, 'SendDate': get_tzcn_format(send_at), 'SendStatus': 3, 'ReceiveDate': get_tzcn_format(send_at), 'ErrCode': error_code, 'TemplateCode': 'dev-mock-TemplateCode', 'Content': 'dev-mock-Content', 'PhoneNum': 'dev-mock-PhoneNum', } return result request = CommonRequest() request.set_accept_format('json') request.set_domain('dysmsapi.aliyuncs.com') request.set_protocol_type('https') request.set_version('2017-05-25') request.set_method('POST') request.set_action_name('QuerySendDetails') request.add_query_param('RegionId', 'cn-hangzhou') request.add_query_param('CurrentPage', 1) # 当前页码 request.add_query_param('PageSize', 10) # 每页显示 1~50 request.add_query_param('PhoneNumber', national) # 手机号码 request.add_query_param('SendDate', send_date) # 发送日期 request.add_query_param('BizId', bizid) # 发送回执ID resp_dic = AliReqAction(request).do_req_action() results = resp_dic['SmsSendDetailDTOs']['SmsSendDetailDTO'] result = {row['OutId']: row for row in results}[out_id] return result
def send_sms(phone, code): client = AcsClient('LTAI4Fby8T5SfQFaRq8X8VBS', 'k82VcXpZabjpp59BLjp1IKjojXAndD', 'cn-hangzhou') phone = '15011367759' code = "{'code':%s}" % (code) request = CommonRequest() request.set_accept_format('json') request.set_domain('dysmsapi.aliyuncs.com') request.set_method('POST') request.set_protocol_type('https') # https | http request.set_version('2017-05-25') request.set_action_name('SendSms') request.add_query_param('RegionId', "cn-hangzhou") request.add_query_param('PhoneNumbers', phone) request.add_query_param('SignName', "kimen") request.add_query_param('TemplateCode', "SMS_178990423") request.add_query_param('TemplateParam', code) response = client.do_action(request) # python2: print(response) print(str(response, encoding='utf-8'))
def ali_requerst(captcha): client = AcsClient('LTAI4FxeyRFbzKaAqG74cFUX', 'cCY63uWPhckMtqBDQWJvJdZFRSAnOg', 'cn-hangzhou') request = CommonRequest() request.set_accept_format('json') request.set_domain('dysmsapi.aliyuncs.com') request.set_method('POST') request.set_protocol_type('https') # https | http request.set_version('2017-05-25') request.set_action_name('SendSms') request.add_query_param('RegionId', "cn-hangzhou") request.add_query_param('PhoneNumbers', "13734816973") request.add_query_param('SignName', "个人服务器") request.add_query_param('TemplateCode', "SMS_183150377") passwd = {'code': captcha} #验证码 request.add_query_param('TemplateParam', str(passwd)) response = client.do_action(request) print(response)
def send(phoneNO, name, good_name): client = AcsClient('***', '***', 'cn-hangzhou') request = CommonRequest() request.set_accept_format('json') request.set_domain('dysmsapi.aliyuncs.com') request.set_method('POST') request.set_protocol_type('https') # https | http request.set_version('2017-05-25') request.set_action_name('SendSms') request.add_query_param('RegionId', "cn-hangzhou") request.add_query_param('PhoneNumbers', phoneNO) request.add_query_param('SignName', "ELostFound") request.add_query_param('TemplateCode', "SMS_183242773") request.add_query_param( 'TemplateParam', json.dumps({ 'name': name, 'goods_name': good_name })) print(json.dumps({'name': name, 'good_name': good_name})) response = client.do_action_with_exception(request) # python2: print(response) print(str(response, encoding='utf-8'))
def 短信(tel, type, code): client = AcsClient('LTAI4FsswRJma4LNZrNPNyrs', 'YmYYLxGc3GupseZzNc7GTkIESAuGa1', 'cn-hangzhou') if type == 1: 短信签名 = "SMS_176526266" #1注册短信 elif type == 2: 短信签名 = "SMS_176410120" #2修改密码 elif type == 3: 短信签名 = "SMS_176410120" #3修改密码 else: 短信签名 = "SMS_176526266" codes = {'code': code} codes = json.dumps(codes) request = CommonRequest() request.set_accept_format('json') request.set_domain('dysmsapi.aliyuncs.com') request.set_method('POST') request.set_protocol_type('http') # https | http request.set_version('2017-05-25') request.set_action_name('SendSms') request.add_query_param('RegionId', "cn-hangzhou") request.add_query_param('PhoneNumbers', tel) request.add_query_param('SignName', "抖云") request.add_query_param('TemplateCode', 短信签名) request.add_query_param('TemplateParam', codes) # python2: print(response) response = client.do_action(request) response = str(response, encoding='utf-8') response = json.loads(response) if response['Message'] == 'OK': return str(code) else: return ( response, -3, )
def sms_send(template, params, phone, out_id, sign='') -> dict: """ 短信发送 """ assert isinstance(params, dict) sign = sign or sms_constant.SMS_SIGN national = phonenumbers.parse(phone, None).national_number if IS_DEV_ENV: from server.corelib.notice.async_tasks import send_dd_msg__task content = sms_mock_content(template, params) msg = f'模拟短信发送:{national}\n{content}' result = send_dd_msg__task(msg) mock_resp = { 'Message': 'OK', 'RequestId': f'dd-mock-RequestId-{out_id}', 'BizId': f'dd-mock-BizId-{out_id}', 'memo': 'dd-dev-mock', 'result': result, 'Code': 'OK', } logger.info(f'sms_send__dd_mock_resp: {mock_resp}') return mock_resp tpl_param = json.dumps(params, sort_keys=True) request = CommonRequest() request.set_accept_format('json') request.set_domain('dysmsapi.aliyuncs.com') request.set_protocol_type('https') request.set_version('2017-05-25') request.set_method('POST') request.set_action_name('SendSms') request.add_query_param('RegionId', 'cn-hangzhou') request.add_query_param('SignName', sign) # 签名 request.add_query_param('PhoneNumbers', national) # 手机号 request.add_query_param('TemplateCode', template) # 短信模板 request.add_query_param('TemplateParam', tpl_param) # 模板参数 request.add_query_param('OutId', out_id) # 外部流水扩展字段 resp_dic = AliReqAction(request).do_req_action() return resp_dic
def send_sms(request): """短信发送""" client = AcsClient('<accessKeyId>', '<accessSecret>', 'cn-hangzhou') request = CommonRequest() request.set_accept_format('json') request.set_domain('dysmsapi.aliyuncs.com') request.set_method('POST') request.set_protocol_type('https') # https | http request.set_version('2017-05-25') request.set_action_name('SendBatchSms') request.add_query_param('RegionId', "cn-hangzhou") request.add_query_param('PhoneNumberJson', "[\"15900000000\",\"13500000000\"]") request.add_query_param('SignNameJson', "[\"阿里云\",\"阿里巴巴\"]") request.add_query_param('TemplateCode', "SMS_152550005") request.add_query_param( 'TemplateParamJson', "[{\"name\":\"TemplateParamJson\"},{\"name\":\"TemplateParamJson\"}]") response = client.do_action(request) # python2: print(response) print(str(response, encoding='utf-8'))
def sendSms(timestamp, num, stu_id, res): from aliyunsdkcore.client import AcsClient from aliyunsdkcore.request import CommonRequest import json client = AcsClient('<accessKeyId>', '<accessSecret>', 'cn-hangzhou') json_data = {"timeStamp": timestamp, "num": stu_id, "res": res} request = CommonRequest() request.set_accept_format('json') request.set_domain('dysmsapi.aliyuncs.com') request.set_method('POST') request.set_protocol_type('https') # https | http request.set_version('2017-05-25') request.set_action_name('SendSms') request.add_query_param('RegionId', "cn-hangzhou") request.add_query_param('PhoneNumbers', num) request.add_query_param('SignName', "网管爱吃牛肉面") request.add_query_param('TemplateCode', "SMS_184831944") request.add_query_param('TemplateParam', json.dumps(json_data)) response = client.do_action(request) # python2: print(response) print(str(response, encoding='utf-8'))