main
HuangHai 5 months ago
parent 56c087602d
commit bceda5f9ea

@ -0,0 +1,6 @@
注册成功
账号Ylt5786
密码DJCtjy064
https://ww1.colorlightcloud.com
项目:充电站
分配空间4G

@ -0,0 +1,126 @@
import requests
import uuid
import base64
# 创建 Session 对象
session = requests.Session()
# 1. 登录
def login():
login_url = 'https://ww1.colorlightcloud.com/wp-login.php'
log = 'Ylt5786'
pwd = 'DJCtjy064'
login_data = {'log': log, 'pwd': pwd, 'lwa': '1', 'login-with-ajax': 'login'}
print("正在登录...")
login_response = session.post(login_url, data=login_data)
if login_response.json().get('result') == True:
print("登录成功Cookie 已保存")
else:
print("登录失败")
exit()
# 2. 创建上传任务
def create_upload_task():
upload_url = 'https://ww1.colorlightcloud.com/wp-content/uploads/Tus'
filename = r'1_512×768.png'
filetype = 'image/jpeg'
# 对文件名和文件类型进行 Base64 编码
filename_base64 = base64.b64encode(filename.encode()).decode()
filetype_base64 = base64.b64encode(filetype.encode()).decode()
# 动态生成 X-Request-ID
x_request_id = str(uuid.uuid4())
# 构造请求头
headers = {
'Accept': '*/*',
'Accept-Encoding': 'gzip, deflate, br, zstd',
'Accept-Language': 'zh-CN,zh;q=0.9',
'Connection': 'keep-alive',
'Content-Length': '0',
'Host': 'ww1.colorlightcloud.com',
'Origin': 'https://ww1.colorlightcloud.com',
'Referer': 'https://ww1.colorlightcloud.com/media',
'Sec-Fetch-Dest': 'empty',
'Sec-Fetch-Mode': 'cors',
'Sec-Fetch-Site': 'same-origin',
'Tus-Resumable': '1.0.0',
'Upload-Length': '143214', # 文件大小
'Upload-Metadata': f'filename {filename_base64},filetype {filetype_base64}',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36',
'X-Request-ID': x_request_id,
'ngsw-bypass': 'true',
'sec-ch-ua': '"Not(A:Brand";v="99", "Google Chrome";v="133", "Chromium";v="133"',
'sec-ch-ua-mobile': '?0',
'sec-ch-ua-platform': '"Windows"',
}
print("正在创建上传任务...")
response = session.post(upload_url, headers=headers)
if response.status_code == 201: # 201 Created 表示任务创建成功
print("上传任务创建成功")
# 返回上传路径
return response.headers.get('Location')
else:
print("上传任务创建失败,状态码:", response.status_code)
print("响应内容:", response.text)
exit()
# 3. 上传文件
def upload_file(upload_path):
filename = r'D:\KeCheng\课程\【进阶篇】\【完成】生成6K高清小姐姐照片\imgs\1_512×768.png'
# 读取文件内容
print("正在读取文件...")
with open(filename, 'rb') as file:
file_data = file.read()
# 动态生成 X-Request-ID
x_request_id = str(uuid.uuid4())
# 构造请求头
headers = {
'Accept': '*/*',
'Accept-Encoding': 'gzip, deflate, br, zstd',
'Accept-Language': 'zh-CN,zh;q=0.9',
'Connection': 'keep-alive',
'Content-Length': str(len(file_data)), # 动态设置文件大小
'Content-Type': 'application/offset+octet-stream',
'Host': 'ww1.colorlightcloud.com',
'Origin': 'https://ww1.colorlightcloud.com',
'Referer': 'https://ww1.colorlightcloud.com/media',
'Sec-Fetch-Dest': 'empty',
'Sec-Fetch-Mode': 'cors',
'Sec-Fetch-Site': 'same-origin',
'Tus-Resumable': '1.0.0',
'Upload-Offset': '0',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36',
'X-Request-ID': x_request_id,
'ngsw-bypass': 'true',
'sec-ch-ua': '"Not(A:Brand";v="99", "Google Chrome";v="133", "Chromium";v="133"',
'sec-ch-ua-mobile': '?0',
'sec-ch-ua-platform': '"Windows"',
}
print("正在上传文件...")
upload_response = session.patch(upload_path, headers=headers, data=file_data)
print("上传响应状态码:", upload_response.status_code)
print("上传响应内容:", upload_response.text)
# 主流程
if __name__ == '__main__':
# 1. 登录
login()
# 2. 创建上传任务
upload_path = create_upload_task()
print(upload_path)
# 3. 上传文件
upload_file('https://ww1.colorlightcloud.com' + upload_path)
Loading…
Cancel
Save