分享一份白嫖163接口上传任意文件的方法 可提取直链 附源码
-
最近有人做出了白嫖网易见外接口上传任意文件并提取直链的程序
今天想着来分享一下 毕竟挺香的
大家也可以将这个帖子转载到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行 懂的都懂