コード例 #1
0
def send_sms(phones, sign_name, template_code, region='cn-shanghai', **params):
    # region:cn-hangzhou,cn-shanghai
    # https://help.aliyun.com/document_detail/31837.html?spm=a2c4g.11186623.6.585.8bff58d5wf0TKC

    client = AcsClient(settings.OSS_ACCESS_KEY_ID,
                       settings.OSS_ACCESS_KEY_SECRET, region)
    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', region)
    strphones = ','.join(phones)
    request.add_query_param('PhoneNumbers', strphones)
    request.add_query_param('SignName', sign_name,)
    request.add_query_param('TemplateCode', template_code)
    strparams = json.dumps(params)
    request.add_query_param('TemplateParam', strparams)

    response = client.do_action_with_exception(request)
    SmsLog.objects.create(
        phones=strphones, sign_name=sign_name, template=template_code, params=strparams, send_result=response)
コード例 #2
0
ファイル: phone.py プロジェクト: day9011/LiuDing
 def send_code(self, phone_number):
     try:
         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")
         verify_code = self.make_verify_code()
         self.redis_cli.set('PhoneVerify_{}'.format(phone_number),
                            verify_code,
                            ex=self.timeout)
         request.add_query_param('PhoneNumbers', phone_number)
         request.add_query_param('SignName', "柳丁教育系统")
         request.add_query_param('TemplateCode', "SMS_181495873")
         request.add_query_param(
             'TemplateParam',
             json.dumps({'code': str(verify_code)}, ensure_ascii=False))
         response = self.client.do_action(request)
         self.logger.info(str(response, encoding='utf-8'))
         response = json.loads(str(response, encoding='utf-8'))
         if response['Code'].strip() != 'OK':
             raise Exception(response['Message'])
         return True
     except Exception as e:
         info_dict = {'interface': 'PhoneVerify send_code', 'error': str(e)}
         info_str = json.dumps(info_dict, ensure_ascii=False)
         self.logger.error(info_str)
         self.init()
         return False
コード例 #3
0
ファイル: aliyun_cloud_api.py プロジェクト: tbxy09/sowhat
def modifySec(host_ip, *key):
    # apidebug(key)

    client = AcsClient(key[0], key[1], 'cn-beijing')
    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('AuthorizeSecurityGroup')

    request.add_query_param('RegionId', 'cn-beijing')
    request.add_query_param('SecurityGroupId', 'sg-2zeiafyiu5nh8zsuy1u6')
    request.add_query_param('IpProtocol', 'tcp')
    request.add_query_param('PortRange', '22/22')
    # request.add_query_param('SourceCidrIp', '223.87.240.203')
    # host_ip = key[2]
    apiinfo(host_ip)
    request.add_query_param('SourceCidrIp', host_ip)
    request.add_query_param('Policy', 'accept')
    request.add_query_param('Priority', '1')

    response = client.do_action_with_exception(request)
    apiinfo(response)
    # python2:  print(response)
    # print(str(response, encoding = 'utf-8'))
    return response
コード例 #4
0
    def send_sms(self, phone_numbers, sign_name, template_code, template_param=None):
        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_numbers)
        request.add_query_param('SignName', sign_name)
        request.add_query_param('TemplateCode', template_code)
        request.add_query_param('TemplateParam', template_param)

        try:
            response = self.acs_client.do_action_with_exception(request)
            logging.info("send sms result: response = %s", response)
        except ServerException as e:
            logging.warning("send sms fail: response = %s", str(e))
            return -5
        except ClientException as e:
            logging.warning("send sms fail: response = %s", str(e))
            return -10

        return 0
コード例 #5
0
class getBalance(object):
    def __init__(self,
                 accessKeydatetimeID,
                 accessSecret,
                 regionID='cn-hangzhou'):
        self.accessKeydatetimeID = accessKeydatetimeID
        self.accessSecret = accessSecret
        self.regionID = regionID
        self.client = AcsClient(self.accessKeydatetimeID, self.accessSecret,
                                self.regionID)
        self.request = CommonRequest()
        self.request.set_accept_format('json')
        self.request.set_domain('business.aliyuncs.com')
        self.request.set_method('POST')
        self.request.set_protocol_type('https')  # https | http
        self.request.set_version('2017-12-14')
        self.request.add_query_param('RegionId', self.regionID)

    def getbalance(self):
        self.request.set_action_name('QueryAccountBalance')
        try:
            respone = self.client.do_action_with_exception(self.request)
            account_info = json.loads(str(respone, encoding='utf-8'))
            account_balance = account_info["Data"]["AvailableAmount"]
            balance = float(account_balance.replace(',', ''))
            return balance
        except Exception as e:
            print('获取账号余额失败!!!')
コード例 #6
0
def send_sms(phone_numbers, code):
    '''
    发送验证码
    :param phone_numbers: 手机号
    :param code: 验证码
    :return response: 
    '''
    client = AcsClient('', '', '')
    request = CommonRequest()
    request.set_accept_format('json')
    request.set_domain('')
    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('', "")

    # 手机号码,多个号码用英文的逗号分隔开
    # 例如:phone_numbers = '17612835052,15889923535'
    request.add_query_param('PhoneNumbers', phone_numbers)

    request.add_query_param('SignName', "农村社区管理平台")
    request.add_query_param('', "")

    # 验证码, json 格式
    template_param = "{'code': %s }" % code
    request.add_query_param('TemplateParam', template_param)

    response = client.do_action(request)

    return response
コード例 #7
0
def send_message(mobile, code):
    # client = AcsClient('<accessKeyId>', '<accessSecret>', 'cn-hangzhou')
    client = AcsClient('LTAIjTtYFp6YT8Hi', 'SnBhv9lAno1S1unOYNzhIkD5YA19cf',
                       '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', mobile)
    request.add_query_param('SignName', "豆博士工作室")  # 改这里
    request.add_query_param('TemplateCode', "SMS_151768608")  # 改这里
    code_msg = "{\"code\": " + "\"" + code + "\"}"
    request.add_query_param('TemplateParam', code_msg)

    response = client.do_action(request)
    response = json.loads(response)
    if response['Code'] == "OK":
        return True
    else:
        return False
コード例 #8
0
ファイル: tests.py プロジェクト: Thousandhack/fastapi_stu
def send_sms(template, phone):
    client = AcsClient('LTAI4FcjABKaRgi17wQL3P1K',
                       'Mp2bgtYDAhGqndWMeIpdTW6BOauART', 'default')
    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')

    # set_action_name 这个是选择你调用的接口的名称,如:SendSms,SendBatchSms等
    request.set_action_name('SendSms')
    # request.set_action_name('QuerySendDetails')

    # 这个参数也是固定的
    request.add_query_param('RegionId',
                            "default")  # 98A66994-3DF4-4FA5-A33F-CCB36EB599D0
    # request.add_query_param('RegionId', "cn-hangzhou")

    request.add_query_param('PhoneNumbers', phone)  # 发给谁
    request.add_query_param('SignName', "飞箭加速")  # 签名
    request.add_query_param('TemplateCode', "SMS_188055127")  # 模板编号
    request.add_query_param('TemplateParam', f"{template}")  # 发送验证码内容
    response = client.do_action_with_exception(request)

    return response
コード例 #9
0
 def test_trans_to_acs_request_to_roa(self):
     r = CommonRequest()
     # signed_header
     with self.assertRaises(ClientException) as ex:
         r.trans_to_acs_request()
     self.assertEqual(ex.exception.error_code, "SDK.InvalidParams")
     self.assertEqual(
         ex.exception.message,
         "common params [version] is required, cannot be empty")
     r.set_version("version")
     with self.assertRaises(ClientException) as ex:
         r.trans_to_acs_request()
     self.assertEqual(ex.exception.error_code, "SDK.InvalidParams")
     self.assertEqual(
         ex.exception.message,
         "At least one of [action] and [uri_pattern] has a value")
     r.set_uri_pattern("/users/:userid")
     with self.assertRaises(ClientException) as ex:
         r.trans_to_acs_request()
     self.assertEqual(ex.exception.error_code, "SDK.InvalidParams")
     self.assertEqual(
         ex.exception.message,
         "At least one of [domain] and [product_name] has a value")
     r.set_product('product')
     r.trans_to_acs_request()
     self.assertEqual(r.get_style(), "ROA")
コード例 #10
0
 def test_common_request_get_signed_header(self, mock_get_rfc_2616_date):
     r = CommonRequest()
     r.set_version("version")
     r.set_action_name('action_name')
     r.set_uri_pattern('/users/[userid]')
     r.set_path_params({"userid": "jacksontian"})
     r.set_product('product')
     r.trans_to_acs_request()
     self.assertEqual(r.get_url("regionid", "accesskeyid", "secret"),
                      "/users/jacksontian?RegionId=regionid")
     self.assertEqual(r.get_style(), "ROA")
     mock_get_rfc_2616_date.return_value = "2018-12-04T03:25:29Z"
     headers = r.get_signed_header("regionid", "accesskeyid", "secret")
     mock_get_rfc_2616_date.assert_called_once_with()
     self.assertDictEqual(
         headers, {
             'Accept': 'application/octet-stream',
             'Authorization':
             'acs accesskeyid:j73ZHar0vd0+MGaKFlGK9JyBnEo=',
             'Date': '2018-12-04T03:25:29Z',
             'x-acs-action': 'action_name',
             'x-acs-region-id': 'regionid',
             'x-acs-signature-method': 'HMAC-SHA1',
             'x-acs-signature-version': '1.0',
             'x-acs-version': 'version',
             'x-sdk-invoke-type': 'common'
         })
コード例 #11
0
ファイル: aliyun_ecs.py プロジェクト: zeus911/yixun
def getAliyunEcsIp(cate='ip',account='',passkey='',endpoint=''):
    client = AcsClient(account, passkey, endpoint)
    request = CommonRequest()
    request.set_accept_format('json')
    request.set_domain('ecs.aliyuncs.com')
    request.set_method('POST')
    request.set_protocol_type('https') # https | http
    request.set_version('2014-05-26')
    request.set_action_name('DescribeInstances')
    # request.add_query_param('RegionId', 'cn-hangzhou')
    request.add_query_param('PageSize', '100')  # 返回数量
    request.add_query_param('Status', 'Running') # ECS状态:运行中 

    response = client.do_action(request)
    res = json.loads(str(response,encoding='utf-8'))
    ipArr = []
    ips = {}
    for  i  in res['Instances']['Instance']:
            # ECS的ip有两种: 公网ip 和 弹性ip
            if len(i['EipAddress']['IpAddress']) !=0:
                ipArr.append(i['EipAddress']['IpAddress'])
                ips[ i['InstanceId'] ] =  i['EipAddress']['IpAddress']

            if len(i['PublicIpAddress']['IpAddress']) !=0 :
                ipArr.append(i['PublicIpAddress']['IpAddress'][0])
                ips[ i['InstanceId'] ] =  i['PublicIpAddress']['IpAddress'][0]

    if cate=='ip':
        return ipArr
    else:
        return ips
コード例 #12
0
ファイル: create_rds.py プロジェクト: 273539918/hellogit
def create_rds(client):
    request = CommonRequest()
    request.set_accept_format('json')
    request.set_domain('rds.aliyuncs.com')
    request.set_method('POST')
    request.set_protocol_type('https')  # https | http
    request.set_version('2014-08-15')
    request.set_action_name('CreateDBInstance')

    request.add_query_param('RegionId', config['REGION_ID'])
    request.add_query_param('Engine', "MySQL")
    request.add_query_param('EngineVersion', "8.0")
    request.add_query_param('DBInstanceClass', "rds.mysql.c1.large")
    request.add_query_param('DBInstanceStorage', "150")
    request.add_query_param('DBInstanceNetType', "Internet")
    request.add_query_param('SecurityIPList', "0.0.0.0/0")
    request.add_query_param('PayType', "Postpaid")
    ## 日本没有对应zone的rds,先固定ap-northeast-1b
    # request.add_query_param('ZoneId', config['ZONE_ID'])
    request.add_query_param("ZoneId", "ap-northeast-1a")
    request.add_query_param('VPCId', config['VPC_ID'])
    ## 日本没有对应vpc的rds,先固定vsw
    # request.add_query_param('VSwitchId', config['VSWITCH'])
    request.add_query_param('VSwitchId', "vsw-6webdxx4tczumohr05ig5")
    request.add_query_param('InstanceNetworkType', "VPC")
    request.add_query_param('ConnectionMode', "Standard")
    request.add_query_param('DBInstanceStorageType', "local_ssd")
    request.add_query_param('Category', "HighAvailability")

    response = client.do_action(request)
    response = json.loads(response)
    return response
コード例 #13
0
 def put(self, request, *args, **kwargs):
     # !/usr/bin/env python
     # coding=utf-8
     print(request)
     phone = request.data['phone']
     client = AcsClient('LTAI4G4zWvN2AeVYdDvxhivu',
                        'BUtSRanKYPgrDtLacOpkqj5HQi2OGO', '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_190281003")
     seeds = "1234567890"
     random_str = []
     for i in range(4):
         random_str.append(random.choice(seeds))
     round = "".join(random_str)
     request.add_query_param('TemplateParam', {"code": round})
     a = UserPro.objects.get(phone=phone)
     a.sms = round
     a.save()
     response = client.do_action(request)
     # python2:  print(response)
     print(str(response, encoding='utf-8'))
     return HttpResponse(response)
コード例 #14
0
ファイル: main.py プロジェクト: Neo-python/library
    def send(self, template_code: str, phone: str, param: dict):
        """发送验证码
        :param template_code:
        :param phone:
        :param param:
        :return:
        """
        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('PhoneNumbers', phone)
        request.add_query_param('SignName', "寻宝网")
        request.add_query_param('TemplateCode', template_code)
        request.add_query_param('TemplateParam', json.dumps(param))

        response = self.client.do_action_with_exception(request)
        result = json.loads(response.decode())

        if result.get('Code', None) != 'OK':
            raise ViewException(error_code=5005,
                                message='验证码发送失败,请联系管理员!',
                                system_message=result.get('Message', ''))
        return response
コード例 #15
0
ファイル: sendMessage.py プロジェクト: GeJi133/monitorSystem
def send_sms(template, phone):
    #client = AcsClient('我的AccessKey ID', '我的Access Key Secret', 'default')
    client = AcsClient('LTAI4FrkPUYxG2QxKpPHjrBx',
                       'oetTMewv8aFT8IPQq4LFwBidSlmGG8', 'default')
    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')

    # set_action_name 这个是选择你调用的接口的名称,如:SendSms,SendBatchSms等
    request.set_action_name('SendSms')
    # request.set_action_name('QuerySendDetails')

    # 这个参数也是固定的
    request.add_query_param('RegionId',
                            "default")  # 98A66994-3DF4-4FA5-A33F-CCB36EB599D0
    # request.add_query_param('RegionId', "cn-hangzhou")

    request.add_query_param('PhoneNumbers', phone)  # 发给谁
    request.add_query_param('SignName', "CSUDazz宠物商店")  # 签名
    request.add_query_param('TemplateCode', "SMS_187271386")  # 模板编号
    request.add_query_param('TemplateParam', f"{template}")  # 发送验证码内容
    response = client.do_action_with_exception(request)
    print(response)

    return response
コード例 #16
0
def send_code(phone):
    # 1. 生成code
    code_set = set()
    while len(code_set) < 4:
        code_set.add(str(random.randint(0, 9)))
    code = ''.join(code_set)
    # 2. 保存code到缓存 - redis
    cache_.save_code(phone, code)

    # 3. 发送短信
    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工作室")  # 签名: 途中旅游 或 Disen工作室
    request.add_query_param('TemplateCode', "SMS_128646125")
    request.add_query_param('TemplateParam', '{"code":"%s"}' % code)

    response = client.do_action_with_exception(request)
    print(str(response, encoding='utf-8'))
コード例 #17
0
ファイル: send_sms.py プロジェクト: Paladin1412/zhiqing-v1
def send_sms(phone_numbers, template_code, sign_name, sms_code):
    """
    发送短信
    :param phone_numbers:
    :param template_code:
    :param sign_name:
    :param sms_code:
    :return:
    """
    client = AcsClient(config.SMS_ACCESS_KEY_ID, config.SMS_ACCESS_KEY_SECRET,
                       REGION)

    request = CommonRequest()
    request.set_accept_format('json')
    request.set_domain(DOMAIN)
    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', REGION)
    request.add_query_param('PhoneNumbers', "{}".format(phone_numbers))
    request.add_query_param('SignName', "{}".format(sign_name))
    request.add_query_param('TemplateCode', "{}".format(template_code))
    # request.add_query_param('TemplateParam', "{\"code\":\"" + sms_code + "\"}")
    request.add_query_param('TemplateParam', json.dumps({'code': sms_code}))

    response = client.do_action(request)
    # python2:  print(response)
    print(str(response, encoding='utf-8'))
    return response
コード例 #18
0
def getAlibabaToken(accessID, accessKey, tokenId, tokenExpireTime):
    # 要是 token 还有 50 秒过期,那就重新获得一个。
    if (int(tokenExpireTime) - time.time()) < 50 :
        # 创建AcsClient实例
        client = AcsClient(
            accessID, # 填写 AccessID
            accessKey, # 填写 AccessKey = 得到AccessKey(引擎名称)
            "cn-shanghai"
            );
        # 创建request,并设置参数
        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')
        try:
            response = json.loads(client.do_action_with_exception(request))
        except Exception as e:
            print(f'''获取 Token 出错了,出错信息如下:\n{e}\n''')
            return False, False
        tokenId = response['Token']['Id']
        tokenExpireTime = str(response['Token']['ExpireTime'])
    return tokenId, tokenExpireTime

# def 得到AccessKey(引擎名称):
#     数据库连接 = sqlite3.connect(常量.数据库路径)
#     AccessKeyId, AccessKeySecret = 数据库连接.execute(f'''select AccessKeyId,
#                                                                 AccessKeySecret
#                                                         from {常量.语音引擎表单名}
#                                                         where 引擎名称 = :引擎名称''',
#                                                  {'引擎名称': 引擎名称}).fetchone()
#     数据库连接.close()
#     return AccessKeyId, AccessKeySecret
コード例 #19
0
def send_sms(phone, code):
    """
    向指定手机号码发送短信验证码
    :param phone:  接收手机短信验证码的手机号码
    :param code: 发送的验证码
    :return: 发送验证码后的响应结果
    """
    client = AcsClient('LTAIEx3Gbdbceg2C', 'MsCoWUm3x2iXaIcvtqhQLi9yj6nHxX',
                       'cn-hangzhou')

    # phone = '17600950805'
    # aa= '222222'
    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')
コード例 #20
0
ファイル: daily_check.py プロジェクト: Vickey-Wu/scripts
def rds_redis(AccessKeyId, AccessKeySecret, RegionId):
    # 获取服务器系统3天后日期
    today = datetime.date.today()
    tomorrow = today + datetime.timedelta(days=3)
    day_sys, month_sys, year_sys = tomorrow.strftime('%d'), tomorrow.strftime(
        '%m'), tomorrow.strftime('%Y')
    # rds实例存放列表
    rds_list = []
    for reg in RegionId:
        client = AcsClient(AccessKeyId, AccessKeySecret, reg)
        # 查询实例详情的默认参数设置
        request = CommonRequest()
        request.set_accept_format('json')
        request.set_domain('r-kvstore.aliyuncs.com')
        request.set_method('POST')
        request.set_version('2015-01-01')
        request.set_action_name('DescribeInstances')
        # 自定义添加查询参数
        request.add_query_param('RegionId', reg)
        request.add_query_param('PageSize', '50')
        # 发送请求
        response = client.do_action_with_exception(request)
        instance = json.loads(response)["Instances"]["KVStoreInstance"]
        for ins in instance:
            # 查询实例详情的默认参数设置
            request = CommonRequest()
            request.set_accept_format('json')
            request.set_domain('r-kvstore.aliyuncs.com')
            request.set_method('POST')
            request.set_version('2015-01-01')
            request.set_action_name('DescribeInstanceAttribute')
            # 自定义添加查询参数
            request.add_query_param('RegionId', reg)
            request.add_query_param('InstanceId', ins["InstanceId"])
            # 发送请求
            response = client.do_action_with_exception(request)
            try:
                rds_time = json.loads(
                    response)["Instances"]["DBInstanceAttribute"][0]["EndTime"]
                ali_time = rds_time.split("-")
                #ali_time = ins["ExpiredTime"].split("-")
                year_ali, month_ali, day_ali = ali_time[0], ali_time[
                    1], ali_time[2][:2]
                # 如果系统时间与获取到的阿里云rds过期时间相差小于或等于3天则告警
                if int(day_ali) <= (
                        int(day_sys) + 3) and int(month_ali) <= int(
                            month_sys) and int(year_ali) <= int(year_sys):
                    rds_id = ins["InstanceId"]
                    expire_time = rds_time[:10]
                    rds_list.append([rds_id, expire_time])
            except Exception as e:
                print(response)
                print("按量付费实例无到期时间", ins, e)

    # 如果有要过期的rds实例则打印列表,没有则不打印
    #print(rds_list)
    if rds_list != []:
        return "redis rds would expired: ", rds_list
    else:
        return "no redis rds expired"
コード例 #21
0
 def request_to_common():
     request = CommonRequest()
     request.set_domain('vpc.aliyuncs.com')
     request.set_method('POST')
     request.set_version('2016-04-28')
     request.set_action_name('DescribeVpcs')
     request.add_query_param('RegionId', 'cn-hangzhou')
     return request
コード例 #22
0
 def _create_request(self, domain, version, action_name, **params):
     request = CommonRequest()
     request.set_domain(domain)
     request.set_version(version)
     request.set_action_name(action_name)
     for k, v in params.items():
         request.add_query_param(k, v)
     return request
コード例 #23
0
def initSmsHeader():
    request = CommonRequest()
    request.set_accept_format(ALIYUN_SETTINGS["sms"]["accept_format"])
    request.set_domain(ALIYUN_SETTINGS["sms"]["domain"])
    request.set_method(ALIYUN_SETTINGS["sms"]["method"])
    request.set_protocol_type(
        ALIYUN_SETTINGS["sms"]["protocol_type"])  # https | http
    request.set_version(ALIYUN_SETTINGS["sms"]["version"])
    return request
コード例 #24
0
ファイル: views.py プロジェクト: jerrybox/GroupEmail
 def _request():
     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')
     return request
コード例 #25
0
    def post(self, request, *args, **kwargs):
        data = request.data
        Phone = data['Phone']
        code = get_random_code(len=6)
        body = {"code": code}
        aliyun_msg = ''
        from aliyunsdkcore.client import AcsClient
        from aliyunsdkcore.request import CommonRequest
        client = AcsClient('LTAINoeFiTtb5Ldh',
                           'FxOZ9pfmLB9LwIBABsauu8Md8dJjn7',
                           'cn-hangzhou')  #短信子账户
        try:
            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', Phone)
            request.add_query_param('SignName', "DeepDraw深绘智能")
            request.add_query_param('TemplateCode', "SMS_170346491")
            request.add_query_param('TemplateParam', str(body))

            response = client.do_action(request)
            aliyun_msg = str(response, encoding='utf-8')

            test_obj = UserInfo.objects.filter(user_name=data['Phone']).first()
            if not test_obj:
                obj = UserInfo.objects.create(
                    user_name=Phone,
                    user_type=1,
                    user_detil='手机注册',
                    password=code,
                )

            else:
                UserInfo.objects.filter(user_name=Phone).update(
                    user_name=Phone, password=code)
                obj = UserInfo.objects.filter(user_name=Phone).first()

            ret = {
                'code': 1001,
                'msg': '获取验证码成功',
                #'random_code':code, #调试时返回
                'user_id': obj.id,
                'aliyun_msg': aliyun_msg,
            }
        except:
            ret = {
                'code': 1000,
                'msg': '获取验证码失败',
                'aliyun_msg': aliyun_msg,
            }
        return JsonResponse(ret)
コード例 #26
0
ファイル: test_request.py プロジェクト: P79N6A/travel
 def test_common_request_get_url(self):
     r = CommonRequest()
     r.set_version("version")
     r.set_uri_pattern('/users/[userid]')
     r.set_path_params({"userid": "jacksontian"})
     r.set_product('product')
     r.trans_to_acs_request()
     self.assertEqual(r.get_style(), "ROA")
     url = r.get_url("regionid", "accesskeyid", "secret")
     self.assertEqual(url, "/users/jacksontian")
コード例 #27
0
ファイル: mtts.py プロジェクト: rainfly123/TTS
def getToken():
    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)
    res = json.loads(response)
    token = res['Token']['Id']
    return token
コード例 #28
0
def ListGroup():
    request = CommonRequest()
    request.set_method("POST")
    request.set_domain("face.cn-shanghai.aliyuncs.com")
    request.set_version("2018-12-03")
    request.set_action_name("ListGroup")
    request.set_accept_format('json')  # 设置返回的结果
    response = client.get_response(request)
    response_str = str(response[2], 'utf-8')  # bytes 转 string
    print(response_str)  # 打印输出结果
コード例 #29
0
 def init_request(self):
     request = CommonRequest()
     request.set_accept_format('json')
     request.set_domain('yundun-bastionhost.aliyuncs.com')
     request.set_method('POST')
     request.set_protocol_type('https')  # https | http
     request.set_version('2019-12-09')
     request.add_query_param('InstanceId', self.instanceId)
     request.add_query_param('RegionId', self.regionId)
     return request
コード例 #30
0
 def _request(self, get_or_post=True):
     # 'get' if get_or_post else 'post'
     request = CommonRequest()
     request.set_domain('filetrans.cn-shanghai.aliyuncs.com')
     request.set_version('2018-08-17')
     request.set_product('nls-filetrans')
     request.set_action_name(
         'GetTaskResult' if get_or_post else 'SubmitTask')
     request.set_method('GET' if get_or_post else 'POST')
     return request