def send_message(tel, code): from aliyunsdkcore.client import AcsClient from aliyunsdkcore.request import CommonRequest client = AcsClient('<>', '<>', '<>') 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', str(tel)) request.add_query_param('SignName', "狂野男孩聊天室") request.add_query_param('TemplateCode', "SMS_186947418") request.add_query_param('TemplateParam', str({'code': code})) response = client.do_action_with_exception(request) print(str(response, encoding='utf-8'))
def send_order_sms(self, phone, name): """发送单个验证码""" 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('TemplateCode', AliYunSMS.SMS_TEMPLATE_ID_ORDER) request.add_query_param('SignName', AliYunSMS.SMS_TEMPLATE_NAME_ORDER) request.add_query_param('PhoneNumbers', phone) request.add_query_param('TemplateParam', json.dumps({"name": name})) request.add_body_params('OutId', uuid.uuid1()) response = self.client.do_action(request) # b'{"Message":"OK","RequestId":"97FDD87D-5B50-4BFA-BF9C-CA24768A5FE0","BizId":"419112860178747080^0","Code":"OK"}' return json.loads(response.decode('utf-8'))
def send_sms_code(phone, code): 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) print(response) return response
def get_token_remote(): logger.info('get_token_remote start') # Create AcsClient client = AcsClient( config.ACCESS_KEY, config.ACCESS_SECRET, "cn-shanghai" ); # Create request and set Params request = CommonRequest() request.set_method('POST') request.set_domain('nls-meta.cn-shanghai.aliyuncs.com') request.set_version('2019-02-28') request.set_action_name('CreateToken') response = client.do_action_with_exception(request) # bytes to json res_str = str(response, 'utf-8') res = json.loads(res_str) logger.info(f'get_token_remote finish, response: {res}') return res['Token']
def send_sms(code): from aliyunsdkcore.client import AcsClient from aliyunsdkcore.request import CommonRequest 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', "13512492836") request.add_query_param('SignName', "便携工具箱") request.add_query_param('TemplateCode', "SMS_166867869") request.add_query_param('TemplateParam', "{\"code\": \"%s\"}" % str(code)) response = client.do_action_with_exception(request) print(str(response, encoding='utf-8'))
def send_sms(phone, phone_code): client = AcsClient('LTAI4FeJ2EDrkGTjoS9LjkTW', 'GVAjUxKQulG3qlYdiWxTnx26cXKBs6', 'cn-hangzhou') code = "{'code':%s}" % phone_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_183145166") request.add_query_param('TemplateParam', code) response = client.do_action_with_exception(request) return str(response, encoding='utf-8')
def sendSms(phone, code): client = AcsClient(SmsCodeConfig.access_key_id, SmsCodeConfig.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') # https | http request.set_version('2017-05-25') request.set_action_name('SendSms') request.add_query_param('PhoneNumbers', str(phone)) request.add_query_param('SignName', SmsCodeConfig.sign_name) request.add_query_param('TemplateCode', SmsCodeConfig.template_code) request.add_query_param('TemplateParam', '{"code":"%s"}' % (str(code))) response = client.do_action(request) # python2: print(response) print(str(response)) return response
def send_code(self): client = AcsClient("LTAI4FcXR2ChjYjD57x9Cyn6", "hHL9Xn263xnNZ3uQFrV6Xsvi9Xe40x", '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', str(self.phone)) request.add_query_param('SignName', "安顺之恋") request.add_query_param('TemplateCode', "SMS_185235175") # request.add_query_param('TemplateParam', "{\"code\":\"5200\"}") request.add_query_param('TemplateParam', self.code_dict) response = client.do_action_with_exception(request) # python2: print(response) return str(response, encoding='utf-8')
def send_sms(phone_number, content, template_code='SMS_143865884'): client = AcsClient(SmsAccessKeyId, SmsAccessKeySecret, SmsEndPoint) 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', "港盛国际") request.add_query_param('TemplateCode', template_code) request.add_query_param('TemplateParam', {'code': content}) response = client.do_action_with_exception(request) response = str(response, encoding='utf-8') return response
def _alisdk_send_sms(phone_numbers, signature_name, template_code, template_param): client = AcsClient(ALI_SMS_ACCESS_KEY_ID, ALI_SMS_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_numbers) request.add_query_param('SignName', signature_name) request.add_query_param('TemplateCode', template_code) if not isinstance(template_param, str): template_param = json.dumps(template_param) request.add_query_param('TemplateParam', template_param) response = client.do_action_with_exception(request) return json.loads(response)
def send_sms(phone,code): client = AcsClient('LTAI4FdF3f5MWdnTuiQzmaCS', 'b0RlRSazSiCu5g4OrlUO25HCHtVqjS', 'cn-hangzhou') code = "{'code':'%s'}" % (code) print(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_173761085") 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 get_domain_records(domain_name, TypeKeyWord=None, RRKeyWord=None): request = CommonRequest() request.set_domain('alidns.aliyuncs.com') request.set_version('2015-01-09') request.set_action_name('DescribeDomainRecords') request.add_query_param('DomainName', domain_name) if TypeKeyWord: request.add_query_param('TypeKeyWord', TypeKeyWord) if RRKeyWord: request.add_query_param('RRKeyWord', RRKeyWord) try: response = client.do_action_with_exception(request) results = json.loads(response.decode()) return results except: print('Something went wrong when trying to get domain records') appendline_error( 'Something went wrong when trying to get domain records from \'get_domain_records(\'' + domain_name + '\',\'' + TypeKeyWord + '\',\'' + RRKeyWord + '\')\'') return None
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') # https | http 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 call_device(uid, action, params=None): if params is None: params = {} params['action'] = action try: client = AcsClient(AliyunSettings.access_key_id, AliyunSettings.access_key_secret, AliyunSettings.iot_area) request = CommonRequest() request.set_accept_format('json') request.set_method('POST') request.set_domain('iot.cn-shanghai.aliyuncs.com') request.set_protocol_type('https') request.set_version('2018-01-20') request.set_action_name('RRpc') request.add_query_param('RegionId', AliyunSettings.iot_area) request.add_query_param( 'DeviceName', '{}{}'.format(AliyunSettings.iot_device_pre, uid)) request.add_query_param('Timeout', '6000') request.add_query_param( 'RequestBase64Byte', base64.b64encode(bytes(json.dumps(params), encoding='utf8'))) request.add_query_param('ProductKey', AliyunSettings.iot_product_id) request.add_query_param('Topic', '/request') result = json.loads(client.do_action_with_exception(request)) print('{}{}'.format(AliyunSettings.iot_device_pre, uid)) print(result) payload = base64.b64decode(result['PayloadBase64Byte']) response = json.loads(payload) print(response) return response except (ServerException, KeyError): return None
def send_code_by_aliyun(self, service, user_phone): """ 利用阿里云短息平台进行发送验证码; 注意只能传递一个传递及验证码 :param service: :param user_phone: :return: """ client = AcsClient(service.app_id, service.app_key, 'default') com_request = CommonRequest() com_request.set_accept_format('json') com_request.set_domain("dysmsapi.aliyuncs.com") com_request.set_method('POST') com_request.set_protocol_type('https') com_request.set_version('2017-05-25') com_request.set_action_name('SendSms') template_id, sms_sign, timeout = self._get_config_template(service, 'login') if not template_id or not sms_sign or not timeout: return {"state": False, 'msg': "在(短信服务配置)中没有找到可用于(登录时发送验证码)的模板,请联系管理员设置!"} com_request.add_query_param('PhoneNumbers', user_phone) com_request.add_query_param('SignName', sms_sign) com_request.add_query_param('TemplateCode', template_id) param_data = { 'name': 'sms_sign', 'code': self.generate_random_numbers(service.code_length) } param_json = json.dumps(param_data) com_request.add_query_param('TemplateParam', param_json) try: cli_response = client.do_action_with_exception(com_request) cli_res = json.loads(str(cli_response, encoding='utf-8')) logging.info("ali-sms-result: {}".format(cli_res)) if cli_res['Code'] == 'OK': record = self.create_record(user_phone, service, cli_res['RequestId'], param_data['code'], timeout) return {"state": True} else: return {"state": False, 'msg': "发送验证码失败!,Error:{}".format(cli_res['Message'])} except Exception as e: return {"state": False, 'msg': "阿里云发送验证码失败,Error:{}".format(str(e))}
def send(self, phone, params): """ :param phone: 电话号码 :param params: 模板参数,{'参数名':value,...} :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) request.add_query_param('SignName', self.signature) request.add_query_param('TemplateCode', self.template_code) request.add_query_param('TemplateParam', params) response = self.client.do_action_with_exception(request) return response
def _do_sms_service(self): """发送短信""" request_params = self._get_send_params() 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.add_query_param('TemplateCode', self.template_id) if self.send_type != self.type_list[2]: request.set_action_name('SendSms') request.add_query_param('PhoneNumbers', request_params['PhoneNumbers']) request.add_query_param('SignName', request_params['SignName']) request.add_query_param('TemplateParam', request_params['TemplateParam']) else: request.set_action_name('SendBatchSms') request.add_query_param('PhoneNumberJson', request_params['PhoneNumberJson']) request.add_query_param('SignNameJson', request_params['SignNameJson']) request.add_query_param('TemplateParamJson', request_params['TemplateParamJson']) res = self.client.do_action(request) try: data = json.loads(res) except Exception as e: raise SmsException(_(u"发送失败")) if not data or data['Code'] != 'OK': log_info( '[AliSmsService]send_type:%s,code:%s,msg:%s,data:%s,prefix:%s' % (self.send_type, data['Code'], data['Message'], data, self.sms_prefix)) raise SmsException(_(u"发送失败"))
def send_sms(telephone, params): client = AcsClient('LTAI4Fj5nqYvrdqzgcMX1ZRD', 'cKCQBQmkxmrkWglblt7PmnDc3ofK53', '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', telephone) request.add_query_param('SignName', "漂流图书") request.add_query_param('TemplateCode', "SMS_179225017") request.add_query_param('TemplateParam', params) response = client.do_action(request) print(str(response, encoding='utf-8')) return response
def send(phone_numbers, template_param): client = AcsClient('LTAI4Fhh9ZdVFw9mhYmUrfYM', 'Q51YfjaJWundhBJz2ADYqpZ5jn8v4y', '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_numbers) request.add_query_param('SignName', '小主驾到') request.add_query_param('TemplateCode', 'SMS_182535092') request.add_query_param('TemplateParam', '{\"code\":\"' + template_param + '\"}') response = client.do_action(request) # python2: print(response) print(f'message response \n {str(response, encoding="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 user_random_pwd(chinese_name, name, tel_number, pwd): json_para = "{'name':'%s', 'username':'******' ,'password':'******'}" % (chinese_name, name, pwd) # json_para = "{'name':'%s','password':'******'}" % (chinese_name, pwd) client = AcsClient('LTAI0kQj0a33u4I7', '5gfuk9MIsfP8JEzf8uOauN7OqVEIxj', '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', tel_number) request.add_query_param('SignName', "邻邻壹") request.add_query_param('TemplateCode', "SMS_175584661") request.add_query_param('TemplateParam', json_para) response = client.do_action_with_exception(request) # print(str(response, encoding='utf-8')) return response
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 send_sms(template, phone): client = AcsClient('LTAI4GBHPXxAh3F8AHvdXccf', 'gV8zWKjX3lnGVkPfKHp68FO2qdOKrj', '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', "xiyounet2020") # 签名 request.add_query_param('TemplateCode', "SMS_202815770") # 模板编号 request.add_query_param('TemplateParam', f"{template}") # 发送验证码内容 response = client.do_action(request) print(str(response, encoding='utf-8')) return response
def do_action(self, queryset): for obj in queryset: alikey = AliKey.objects.get(id=3) client = AcsClient(alikey.ak_id, alikey.ak_secret, 'us-west-1') request = CommonRequest() request.set_accept_format('json') request.set_domain('ecs.aliyuncs.com') request.set_method('POST') request.set_version('2014-05-26') request.set_action_name('RebootInstance') request.add_query_param('InstanceId', obj.shiliid) request.add_query_param('ForceStop', 'true') response = client.do_action_with_exception(request) try: print("a") response = client.do_action_with_exception(request) except: print("false") return
def send_code(phone_number): 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_number) request.add_query_param('SignName', "Disen工作室") request.add_query_param('TemplateCode', "SMS_128646125") # 随机生成验证码 code = ''.join( random.choices(['0', '1', '2', '4', '5', '6', '7', '8', '9'], k=4)) request.add_query_param('TemplateParam', "{\"code\":\"%s\"}" % code) response = client.do_action(request) print(str(response, encoding='utf-8')) # 返回code给后端 return code
def send_message(phone): client = AcsClient(access_key_id, access_secret, 'default') code = randint(100000, 999999) 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', "default") request.add_query_param('PhoneNumbers', '{}'.format(phone)) request.add_query_param('SignName', "寻觅") request.add_query_param('TemplateCode', "SMS_172880009") request.add_query_param('TemplateParam', '{{"code":"{}"}}'.format(code)) response = client.do_action(request) resp = conversion_resp(response, code) return resp
def send_sms(shortMessageConfig, projectName): logging.info("进入发送短信") PhoneNumbers = shortMessageConfig.get("PhoneNumbers") SignName = shortMessageConfig.get("SignName") TemplateParams = shortMessageConfig.get("TemplateParam") logging.info("TemplateParams1" + str(TemplateParams)) for templateParam in TemplateParams: TemplateParams[templateParam] = TemplateParams[ templateParam] = projectName logging.info("TemplateParams2" + str(TemplateParams)) TemplateCode = shortMessageConfig.get("TemplateCode") ACCESSKEYID = shortMessageConfig.get("ACCESSKEYID") ACCESSSECRET = shortMessageConfig.get("ACCESSSECRET") for PhoneNumber in PhoneNumbers: # client = AcsClient('<accessKeyId>', '<accessSecret>', 'default') client = AcsClient(ACCESSKEYID, 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', "default") # 这个参数也是固定的 try: request.add_query_param('PhoneNumbers', str(PhoneNumber).split("$")[0]) # 发给谁 except Exception as e: pass request.add_query_param('SignName', SignName) # 签名 request.add_query_param('TemplateCode', TemplateCode) # 模板编号 request.add_query_param('TemplateParam', f"{TemplateParams}") # 发送验证码内容 response = client.do_action_with_exception(request) logging.info(str(response, encoding='utf-8')) return str(response, encoding='utf-8')
def sendmsg(phone): # 导入所需模块,再次之前我们都已经pip install好了的 from aliyunsdkcore.client import AcsClient from aliyunsdkcore.request import CommonRequest # 这三个参数即 AccessKey ID, AccessKey Secret, 地区的id,关于地区id怎么获得我会贴在文章最下方 client = AcsClient(ACCESSKEYID, ACCESSSECRET, "cn-shanghai") # 下面就是一些规定的配置,复制即可 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") # 配置地区id 地区id即为 cn_%s % (所在的地区名,应该是可以细分到市级的,如cn_hangzhou) request.add_query_param("RegionId", "cn-shanghai") # 配置要发送的手机号码 request.add_query_param("PhoneNumbers", str(phone)) # 配置你所设置的信息模板code,文章下方我会贴出来在哪边可以设置信息模板 request.add_query_param("TemplateCode", "SMS_171117099") # 这个TemplateParam参数是给信息模板中的变量传值的,正常使用应该是后端获取验证码然后塞到这个参数中的 code = '' for i in range(6): code += str(random.randint(0, 9)) print("生成的code", code) request.add_query_param("TemplateParam", {"code": code}) # cache.set(phone, code, SMS_EXPIRE_TIME) # 这是配置签名的 request.add_query_param("SignName", "输诚一") # response = client.do_action(request) # 调用发送短信方法 # print(str(response, encoding='utf-8')) # if response: cache.set(phone, code)
def _getCurrentIpRecord(self): """ if you ever set domain record of the RR in this config then this method finds and returns the record id and corresponding ip from Aliyun API OR if not then this method returns blank string :return: ip record of this RR.DOMAIN, or blank string """ client = AcsClient(self.accKey, self.accSec, 'default') request = CommonRequest() request.set_accept_format('json') request.set_domain('alidns.aliyuncs.com') request.set_method('POST') request.set_protocol_type('https') # https | http request.set_version('2015-01-09') request.set_action_name('DescribeDomainRecords') request.add_query_param('DomainName', self.domain) try: response = client.do_action_with_exception(request) records = json.loads(response).get('DomainRecords', {}).get('Record', []) except Exception as err: self.logger.error( 'Error - aliyun core sdk error of getIpRecord - {}'.format( err)) raise RuntimeError(err) record = next((r for r in records if r.get('RR', '') == self.rr), None) if not record: self.logger.info( 'Aliyun ip record NOT FOUND, need to set the new one') self.ipRecord = '' return self.ipRecord # raise RuntimeError('Error - getIpRecord nothing - rr not there?') # print record self.recordId = record.get('RecordId', '') self.ipRecord = record.get('Value', '') self.logger.info('Aliyun ip record of {}.{} found - {}'.format( self.rr, self.domain, self.ipRecord)) return self.ipRecord
def send_sms(telephone, captcha): client = AcsClient(config.KEY, config.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', telephone) request.add_query_param('SignName', "flask论坛") request.add_query_param('TemplateCode', "SMS_174806057") code = {} code['code'] = captcha request.add_query_param('TemplateParam', code) response = client.do_action(request) # python2: print(response) return str(response, encoding='utf-8')