|
@@ -21,6 +21,7 @@ import json
|
|
import math
|
|
import math
|
|
import time
|
|
import time
|
|
import urllib
|
|
import urllib
|
|
|
|
+import datetime
|
|
from Object.AliPayObject import AliPayObject
|
|
from Object.AliPayObject import AliPayObject
|
|
import logging
|
|
import logging
|
|
import boto3
|
|
import boto3
|
|
@@ -29,6 +30,9 @@ from botocore.exceptions import ClientError
|
|
import oss2
|
|
import oss2
|
|
import paypalrestsdk
|
|
import paypalrestsdk
|
|
import logging
|
|
import logging
|
|
|
|
+import requests
|
|
|
|
+import hashlib
|
|
|
|
+import hmac
|
|
from aliyunsdkcore import client
|
|
from aliyunsdkcore import client
|
|
from aliyunsdksts.request.v20150401 import AssumeRoleRequest
|
|
from aliyunsdksts.request.v20150401 import AssumeRoleRequest
|
|
from django.http import JsonResponse, HttpResponseRedirect, HttpResponse
|
|
from django.http import JsonResponse, HttpResponseRedirect, HttpResponse
|
|
@@ -36,10 +40,9 @@ from django.utils.decorators import method_decorator
|
|
from django.views.decorators.csrf import csrf_exempt
|
|
from django.views.decorators.csrf import csrf_exempt
|
|
from django.views.generic.base import View
|
|
from django.views.generic.base import View
|
|
from django.contrib.auth.hashers import make_password, check_password # 对密码加密模块
|
|
from django.contrib.auth.hashers import make_password, check_password # 对密码加密模块
|
|
-
|
|
|
|
from Ansjer.config import OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, OSS_ROLE_ARN, SERVER_DOMAIN, PAYPAL_CRD, \
|
|
from Ansjer.config import OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, OSS_ROLE_ARN, SERVER_DOMAIN, PAYPAL_CRD, \
|
|
SERVER_DOMAIN_SSL
|
|
SERVER_DOMAIN_SSL
|
|
-from Model.models import Device_Info, Order_Model, Store_Meal, VodHlsModel, OssCrdModel, UID_Bucket, StsCrdModel
|
|
|
|
|
|
+from Model.models import Device_Info, Order_Model, Store_Meal, VodHlsModel, OssCrdModel, UID_Bucket
|
|
from Object.ResponseObject import ResponseObject
|
|
from Object.ResponseObject import ResponseObject
|
|
from Object.TokenObject import TokenObject
|
|
from Object.TokenObject import TokenObject
|
|
from Object.UidTokenObject import UidTokenObject
|
|
from Object.UidTokenObject import UidTokenObject
|
|
@@ -50,6 +53,7 @@ from Model.models import Device_User, Device_Info, UID_Bucket, UID_Preview, UidS
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+
|
|
SERVER_DOMAIN = 'http://test.dvema.com/'
|
|
SERVER_DOMAIN = 'http://test.dvema.com/'
|
|
ACCESS_KEY = "AKIA2E67UIMD3CYTIWPA"
|
|
ACCESS_KEY = "AKIA2E67UIMD3CYTIWPA"
|
|
SECRET_KEY = "mHl79oiKxEf+89friTtwIcF8FUFIdVksUwySixwQ"
|
|
SECRET_KEY = "mHl79oiKxEf+89friTtwIcF8FUFIdVksUwySixwQ"
|
|
@@ -99,15 +103,12 @@ class testView(View):
|
|
elif operation == 'generateToken':
|
|
elif operation == 'generateToken':
|
|
userID = '158943604783713800138000'
|
|
userID = '158943604783713800138000'
|
|
return self.generate_token(request_dict,userID)
|
|
return self.generate_token(request_dict,userID)
|
|
- elif operation == 'generateUidToken':
|
|
|
|
- userID = '158943604783713800138000'
|
|
|
|
- return self.generate_uid_token(request_dict,userID)
|
|
|
|
elif operation == 'test_upload_s3':
|
|
elif operation == 'test_upload_s3':
|
|
userID = '158943604783713800138000'
|
|
userID = '158943604783713800138000'
|
|
return self.test_upload_s3(request_dict)
|
|
return self.test_upload_s3(request_dict)
|
|
- elif operation == 'test_upload_s3_amazon_comprehend':
|
|
|
|
|
|
+ elif operation == 'test_request':
|
|
userID = '158943604783713800138000'
|
|
userID = '158943604783713800138000'
|
|
- return self.test_upload_s3_amazon_comprehend(request_dict)
|
|
|
|
|
|
+ return self.testRequest(request,request_dict)
|
|
else:
|
|
else:
|
|
return 123
|
|
return 123
|
|
|
|
|
|
@@ -125,7 +126,7 @@ class testView(View):
|
|
s3_client = session.client('s3')
|
|
s3_client = session.client('s3')
|
|
|
|
|
|
#上传
|
|
#上传
|
|
- s3_client.put_object(Bucket="azvod1", Key="file/rule.txt", Body=open(r"E:\download\Shadowsocks-4.1.10.0\user-rule.txt", 'rb').read())
|
|
|
|
|
|
+ # s3_client.put_object(Bucket="azvod1", Key="file/rule.txt", Body=open(r"E:\download\Shadowsocks-4.1.10.0\user-rule.txt", 'rb').read())
|
|
|
|
|
|
#下载
|
|
#下载
|
|
resp = s3_client.get_object(Bucket="azvod1", Key="file/rule.txt")
|
|
resp = s3_client.get_object(Bucket="azvod1", Key="file/rule.txt")
|
|
@@ -299,10 +300,10 @@ class testView(View):
|
|
def do_test_get_sign_sts(self, request_dict, ip, response):
|
|
def do_test_get_sign_sts(self, request_dict, ip, response):
|
|
# uid = 'GZL2PEFJPLY7W6BG111A'
|
|
# uid = 'GZL2PEFJPLY7W6BG111A'
|
|
# channel = 2
|
|
# channel = 2
|
|
- uid = 'M1BYBPCHNS92PBLG111A'
|
|
|
|
|
|
+ uid = 'VVDHCVBYDKFMJRWA111A'
|
|
channel = 1
|
|
channel = 1
|
|
now_time = int(time.time())
|
|
now_time = int(time.time())
|
|
- ubqs = UID_Bucket.objects.filter(uid=uid, channel=channel). \
|
|
|
|
|
|
+ ubqs = UID_Bucket.objects.filter(uid=uid, channel=channel, endTime__gte=now_time). \
|
|
values("bucket__mold", "bucket__bucket", "bucket__endpoint", "bucket__region", "endTime")
|
|
values("bucket__mold", "bucket__bucket", "bucket__endpoint", "bucket__region", "endTime")
|
|
if ubqs.exists():
|
|
if ubqs.exists():
|
|
if ubqs[0]["bucket__mold"] == 0:
|
|
if ubqs[0]["bucket__mold"] == 0:
|
|
@@ -410,7 +411,7 @@ class testView(View):
|
|
]
|
|
]
|
|
}
|
|
}
|
|
response = boto3_sts.get_federation_token(
|
|
response = boto3_sts.get_federation_token(
|
|
- Name='{role_name}'.format(role_name=uid + '_' + str(channel)),
|
|
|
|
|
|
+ Name='{role_name}'.format(role_name=uid + '_' + channel),
|
|
Policy=json.dumps(Policy),
|
|
Policy=json.dumps(Policy),
|
|
DurationSeconds=7200
|
|
DurationSeconds=7200
|
|
)
|
|
)
|
|
@@ -443,7 +444,7 @@ class testView(View):
|
|
def do_get_sign_sts(self, request_dict, ip, response):
|
|
def do_get_sign_sts(self, request_dict, ip, response):
|
|
# uid = 'GZL2PEFJPLY7W6BG111A'
|
|
# uid = 'GZL2PEFJPLY7W6BG111A'
|
|
# channel = 2
|
|
# channel = 2
|
|
- uid = 'VVDHCVBYDKFMJRWA111A'
|
|
|
|
|
|
+ uid = '86YC8Z192VB1VMKU111A'
|
|
channel = 1
|
|
channel = 1
|
|
now_time = int(time.time())
|
|
now_time = int(time.time())
|
|
ubqs = UID_Bucket.objects.filter(uid=uid, channel=channel, endTime__gte=now_time). \
|
|
ubqs = UID_Bucket.objects.filter(uid=uid, channel=channel, endTime__gte=now_time). \
|
|
@@ -687,42 +688,56 @@ class testView(View):
|
|
return response.json(0, vod_play_list)
|
|
return response.json(0, vod_play_list)
|
|
|
|
|
|
def generate_token(self,request_dict,userID):
|
|
def generate_token(self,request_dict,userID):
|
|
- #UserIdToken
|
|
|
|
|
|
+ # UserIdToken
|
|
tko = TokenObject()
|
|
tko = TokenObject()
|
|
res = tko.generate(
|
|
res = tko.generate(
|
|
- data={'userID': 160868920610913800138000, 'lang': 'cn', 'user': '13923452707', 'm_code': '123413243214'})
|
|
|
|
-
|
|
|
|
|
|
+ data={'userID': 158943594633713800138000, 'lang': 'cn', 'user': '597471180@qq.com', 'm_code': '123413243214'})
|
|
#uidToken
|
|
#uidToken
|
|
# utko = UidTokenObject()
|
|
# utko = UidTokenObject()
|
|
- # res = utko.generate(data={'uid': 'H2CMKET2LDC3ZBL4111A','channel': 1})
|
|
|
|
|
|
+ # res = utko.generate(data={'uid': 'XKWZSC5FCJYT19B7111A','channel': 1})
|
|
return JsonResponse(status=200, data=res,safe=False)
|
|
return JsonResponse(status=200, data=res,safe=False)
|
|
|
|
|
|
- def generate_uid_token(self, request_dict, userID):
|
|
|
|
- # UserIdToken
|
|
|
|
- # tko = TokenObject()
|
|
|
|
- # res = tko.generate(
|
|
|
|
- # data={'userID': 158943594633713800138000, 'lang': 'cn', 'user': '597471180@qq.com',
|
|
|
|
- # 'm_code': '123413243214'})
|
|
|
|
-
|
|
|
|
- utko = UidTokenObject()
|
|
|
|
- rr = utko.generate(data={'uid':'M1BYBPCHNS92PBLG111A','channel':1})
|
|
|
|
- return JsonResponse(status=200, data=rr, safe=False)
|
|
|
|
-
|
|
|
|
|
|
|
|
def test_upload_s3(self,request_dict):
|
|
def test_upload_s3(self,request_dict):
|
|
- aws_key = "ASIA2E67UIMDTJFRF7UE" #【你的 aws_access_key】
|
|
|
|
- aws_secret = "5u6MDvm3Fabdbc6EG9+JPJE3x07peNkrvok76Dqq" # 【你的 aws_secret_key】
|
|
|
|
- aws_session_token = "FwoGZXIvYXdzEHQaDKQchZxanXOpNJ2UriLoARUmKF/Uf6HZMhB4Bdo1Df4BlirgpqOyXmMULjx1yvqah1+BKIV2rzEoxxaVmvjcvLjHMQamPR7QzLZYP/WgJ6biPTnfqJWy5rCVpIZtD3D2nmGWAf5RSedADILJgBQmrXumFX2jrnm6THbqfdyfT2eitKt5ZD82zvLOaHMWu7mzomzmye8Eimt28Dhj6jsLeZPxOhhHBLUi+gddHAMCQq8HmGbnsXN5OrOBvqreRAxdR/u6vuQHbVpV3b8V5nkAtTVhOCaGRcPETARB8F/jFuFRhW9tAjPZisP/SEa8vUDR32FoMNQeda4o5+7l/gUyKYlem5bIB96gywY6s4C8c1PAa3l09+5tdGNp5laAJf7vMUzMJckR2EgF"
|
|
|
|
|
|
+ testd = hmac.new('AWS4rf/xnQ3jIgY8bj7Sz4An4KbYct2sq2MbrfmP8rVV'.encode("utf-8"), '20210223'.encode("utf-8"), hashlib.sha256).digest()
|
|
|
|
+ region_sign = hmac.new(testd, 'cn-northwest-1'.encode("utf-8"), hashlib.sha256).hexdigest()
|
|
|
|
+ exit(region_sign)
|
|
|
|
+ kService = sign(kRegion, 's3')
|
|
|
|
+ kSigning = sign(kService, 'aws4_request')
|
|
|
|
+
|
|
|
|
+ # exit(CommonService.getIpIpInfo("120.197.196.156",'CN'))
|
|
|
|
+ aws_key = "ASIA2MMWBR4DUPTFDTOJ" #【你的 aws_access_key】
|
|
|
|
+ aws_secret = "tTFZ9wpxFadeufhfaJ1erErv4U1bJ+TS/SJwTptx" #【你的 aws_access_key】
|
|
|
|
+ aws_session_token = "IQoJb3JpZ2luX2VjEJT//////////wEaDmNuLW5vcnRod2VzdC0xIkYwRAIgenLaMN6NdFji0x18OuaUTPvvtRBAWwjdEYdBTCMh0ywCIEzntAbgRPmwS+YFuNg+F31z60I4J1IoqmrQHR7wmPzVKtsCCML//////////wEQABoMNzEzODE2MTE2OTk5IgyJTmdtNJ319TtNORAqrwLPG6Px0z5CsEQpFt/TCbSSMRtYqBU+x5Ll9hZIuTvg8H+56H02/cr0nSCNiy05z7dSrSWMFoMhVKvHq7as5TRvVXkvMbbYPQuQxxPFr7EswaB+XITeDpdGBI6N7mqnt6h4YJbhk2dNRa2/4Ypr1DuyGnhVV6NxNHA5INtY7apLi3UTcNKwKSQRVzUWZBpoj86wG3j77KOZg18I9P8UWBpA9fpz/Wiv4xrzZSexrUnq5svTLEqMfTYCPBXkxrJBjNrwVjvkBkgeIfQZPz+A5X97p7wXbPf0Jo5aHHRDefbAmBuXYoSfpHjiFWindkcvCaMxQzUiHVLvnN/5SvgQEzN3pLUAAioepRZIZQLaky1aRmYYm1wOCjzgsg9V+GV6gKTE+ipFG/6Nv03Vh++Hv+YwyamJgQY6mgEmxhOhncek0PgQeExx2EXk73olY/6L15eDyHbSWoEKBMTmdlmpYD9Cj3qP4aUUW6UT6V5Tql/s5eBEsYwY+hzgtQiTmd7vjytXxae+dpN9VsWGW4AJ9P+/LgBe6zExUx2MOVst0+hb+dd8bg/qkz7UBYNQAmU+BEoL2Cd7lNXdrv56Gboapo+BosQO49GT8u1k5EheQ9JKHCqv"
|
|
session = Session(aws_access_key_id=aws_key,
|
|
session = Session(aws_access_key_id=aws_key,
|
|
aws_secret_access_key=aws_secret,
|
|
aws_secret_access_key=aws_secret,
|
|
aws_session_token=aws_session_token,
|
|
aws_session_token=aws_session_token,
|
|
- region_name="ap-southeast-1") # 此处根据自己的 s3 地区位置改变
|
|
|
|
|
|
+ region_name="cn-northwest-1") # 此处根据自己的 s3 地区位置改变
|
|
s3 = session.resource("s3")
|
|
s3 = session.resource("s3")
|
|
- client = session.client("s3")
|
|
|
|
- bucket = "asj-oct-ipc" # 【你 bucket 的名字】 # 首先需要保.证 s3 上已经存在该存储桶,否则报错
|
|
|
|
- upload_data = open("./././static/log/error.log", "rb")
|
|
|
|
- upload_key = "86YC8Z192VB1VMKU111A/vod1/test"
|
|
|
|
|
|
+ # client = session.client("s3")
|
|
|
|
+ bucket = "7cdk" # 【你 bucket 的名字】 # 首先需要保.证 s3 上已经存在该存储桶,否则报错
|
|
|
|
+ upload_data = open("./././static/log/test.log", "rb")
|
|
|
|
+ upload_key = "XKWZSC5FCJYT19B7111A/test/test6/test.log"
|
|
file_obj = s3.Bucket(bucket).put_object(Key=upload_key, Body=upload_data)
|
|
file_obj = s3.Bucket(bucket).put_object(Key=upload_key, Body=upload_data)
|
|
- print('--------')
|
|
|
|
|
|
+ print('---------------------')
|
|
print(file_obj)
|
|
print(file_obj)
|
|
- return JsonResponse(status=200, data=file_obj, safe=False)
|
|
|
|
|
|
+ print(8/0)
|
|
|
|
+ exit()
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ def testRequest(self,request,request_dict):
|
|
|
|
+ ip = CommonService.get_ip_address(request)
|
|
|
|
+ ipInfo = CommonService.getIpIpInfo(ip,"CN")
|
|
|
|
+ # print(type(ipInfo))
|
|
|
|
+ # exit(ipInfo)
|
|
|
|
+ addr = CommonService.getAddr(ip)
|
|
|
|
+ dicts = {
|
|
|
|
+ 'ipInfo':ipInfo,
|
|
|
|
+ 'addr':addr,
|
|
|
|
+ }
|
|
|
|
+ return HttpResponse(json.dumps(dicts, ensure_ascii=False),
|
|
|
|
+ content_type="application/json,charset=utf-8")
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|