最近有人做出了白嫖网易见外接口上传任意文件并提取直链的程序
今天想着来分享一下 毕竟挺香的
大家也可以将这个帖子转载到hostloc 我非常乐意分享源码.
白嫖万岁!
附上核心源码截图
目前支持上传任意格式任意大小的文件 程序禁止商用 仅供技术学习交流之用 请勿用于非法用途
附源码:
import json
import requests
import time
import sys
import os
import math
# 严正声明:本项目仅供测试交流使用。任何人不得上传任何违反中国法律的文件行为,若有上传非法违法文件,一切后果由上传者自负!
# 严正声明:本项目仅供测试交流使用。任何人不得上传任何违反中国法律的文件行为,若有上传非法违法文件,一切后果由上传者自负!
# 严正声明:本项目仅供测试交流使用。任何人不得上传任何违反中国法律的文件行为,若有上传非法违法文件,一切后果由上传者自负!
# 严正声明:本项目仅供测试交流使用。任何人不得上传任何违反中国法律的文件行为,若有上传非法违法文件,一切后果由上传者自负!
# 严正声明:本项目仅供测试交流使用。任何人不得上传任何违反中国法律的文件行为,若有上传非法违法文件,一切后果由上传者自负!
# 严正声明:本项目仅供测试交流使用。任何人不得上传任何违反中国法律的文件行为,若有上传非法违法文件,一切后果由上传者自负!
# 严正声明:本项目仅供测试交流使用。任何人不得上传任何违反中国法律的文件行为,若有上传非法违法文件,一切后果由上传者自负!
# 文件运行完整路径 print(sys.argv[0])
# 文件运行第一参数 print(sys.argv[1])
# 登录 网易见外工作台 获取 Cookies 中 SESSION 值 http://jianwai.youdao.com
Session = "89576321-e1bd-467f-ab1f-e7f22aa2a585"
# 模拟 请求头部 置入 Cookies SESSION
Header = {
"Cookie":"SESSION="+Session,
"Connection":"keep-alive",
}
# 用户信息接口
USER_INFO_API = "http://nmtp.youdao.com/api/getUserInfo"
# 临时的上传接口 只有通过这个接口才可以获取文件位置 对文件追加二进制数据
UPLOAD_TEMP_API = "http://nmtp.youdao.com/api/admin/nostoken?isPrivate=false&suffix="
# 返回时间 [14:08:57]
def GETDATE(int):
return str(time.strftime("%H:%M:%S", time.localtime())) # 17:51:23
# return str(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())) # 2020-07-12 17:05:32
# 返回 01 89 双位 数字
def ORDERNUMBER(int):
if int < 10:
return "0"+str(int)
else:
return str(int)
print("["+GETDATE(1)+"] 可以通过程序启动时传参的方式,直接上传文件。\n例如: " + sys.argv[0] + " D:\\Pic\\3.jpg")
# 如果输入了第一个参数
try:
FILE_UPLOAD_PATH = sys.argv[1]
except:
# 接收 文件路径
FILE_UPLOAD_PATH = input("["+GETDATE(1)+"] "+"把要上传的文件拖进来,或填写完整路径: ").replace("\"","")
# 文件类型 文件后缀 从文件路径 \ 最后一次出现位置 一直取文本到结尾
# FILE_UPLOAD_TYPE = "/" + FILE_UPLOAD_PATH[FILE_UPLOAD_PATH.rfind("\\") + 1:] # 文件夹路径
FILE_UPLOAD_TYPE = FILE_UPLOAD_PATH[FILE_UPLOAD_PATH.rfind("\\") + 1:]
# 根据文件类型 确定文件后缀 获取文件上传接口
# FILE_UPLOAD_TYPE_UPLOAD_TEMP_API = UPLOAD_TEMP_API + FILE_UPLOAD_TYPE
# print(FILE_UPLOAD_TYPE_UPLOAD_TEMP_API)
# exit()
# 请求 用户信息
LOGIN_STATUS = requests.get(USER_INFO_API,headers = Header).text
# 请求 获取 上传接口
UPLOAD_TEMP_STATUS = requests.get(UPLOAD_TEMP_API + FILE_UPLOAD_TYPE,headers=Header).text
# 请求 获取 上传接口 JSON
UPLOAD_TEMP_JSON = json.loads(UPLOAD_TEMP_STATUS)
# 判断是否成功获取上传接口
if UPLOAD_TEMP_JSON["success"] == False:
print("["+GETDATE(1)+"] "+"获取上传接口失败,返回内容: "+UPLOAD_TEMP_JSON["message"])
exit()
# 上传接口 # http://nosup-hz1.127.net/
UPLOAD_TEMP_API_URL = "http://45.127.129.6/" + UPLOAD_TEMP_JSON["relatedObject"]["bucket"] + "/" + UPLOAD_TEMP_JSON["relatedObject"]["objectname"] + "?offset=0&complete=true&context=&version=1.0"
# 上传接口 使用凭证 token
UPLOAD_TEMP_TOKEN_URL = UPLOAD_TEMP_JSON["relatedObject"]["token"]
# 上传接口 使用凭证 token 加入 请求头部
Header["x-nos-token"] = UPLOAD_TEMP_TOKEN_URL
# 以二进制读入文件
try:
UPLOAD_FILE_DATA = open(FILE_UPLOAD_PATH,"rb")
except:
print("["+GETDATE(1)+"] 文件或路径错误: " + FILE_UPLOAD_PATH)
exit()
# 上传提交
UPLOAD_START_STATUS_TEMP = requests.post(UPLOAD_TEMP_API_URL,UPLOAD_FILE_DATA,headers = Header).text
# 关闭文件
UPLOAD_FILE_DATA.close()
# 上传结束 文件 URL
UPLOAD_OK_FILE_URL = "http://nmtp.nos-hz.163yun.com/" + UPLOAD_TEMP_JSON["relatedObject"]["objectname"]
print("["+GETDATE(1)+"] 上传成功: "+UPLOAD_OK_FILE_URL)
os("pause")
exit()
使用需要替换SESSION 注释在源码第30行 懂的都懂