分享一份白嫖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行 懂的都懂
    👍


Log in to reply
 

Copyright © 2019 - 2020 JIKE社区 版权所有