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)
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
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
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
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('获取账号余额失败!!!')
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
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
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
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")
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' })
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
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
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)
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
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
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'))
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
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
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')
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"
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
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
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
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
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)
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")
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
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) # 打印输出结果
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
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