JIKE
    • 注册
    • 登录
    • 搜索
    • 版块
    • 最新
    • 标签
    • 热门
    • 用户

    分享一份白嫖163接口上传任意文件的方法 可提取直链 附源码

    技术分享
    白嫖
    1
    1
    428
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • songQQ
      songQQ 最后由 编辑

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

      1 条回复 最后回复 回复 引用 2
      • 1 / 1
      • First post
        Last post