我们在上一篇博文中详细介绍了这个网站,那么今天我们就来用程序来实现如何将本地的文件上传到我们的网盘。因为这个网盘在国外的环境下也可以访问,所以这也可以当做我们的一个传输的中介进行国外网站程序的下载。

关于send.cm使用方法的博客

最终目标

实现程序

我们首先使用访问我们的网站,接着我们使用我们的密钥进行访问,然后最后用POST上传程序,最后用我们的函数返回网址(下次等我有时间之后我会详细说明)

# 程序名称 : SMDisk.py
# 运行版本 : Python 3.7
# 运行系统 : Windows 10
# 运行需求 : Pyanywhere 本地
# 制作日期 : 2021年3月4日
# 制作人 : ZesenYuanimport requests
import jsondef test_file_address(path):# 禁止上传的文件格式endswith = ["php","pl","cgi","py","sh","shtm","xap","swf","phtml","asax","cer","asa","cgi","php5","php6","php7","pht"]# 将列表转换成元组endswith_tuple = tuple(endswith)  # 获取是否在我们的元组中bool_endswith = path.endswith(endswith_tuple)# 检测判断if bool_endswith == "True":endswith_real = "False"return endswith_realelse:endswith_real = "True"return endswith_real# 定义一个默认的密钥进行访问
def upload_file_api(file,key = "xxxx"):print("检测格式中...")endswith = test_file_address(file)# 检测我们是否为禁止上传的文件类型if endswith == "True":print("文件支持...")else:print("不支持的格式!")exit()# 定义一个会话,多次访问这个软件file_api_session = requests.session()# 在访问时候加上我们的密钥file_api = file_api_session.get("https://send.cm/api/upload/server?key=" + key)print("正在检测密钥...")# print(file_api.text)# 将我们的响应值转换成文本file_api = file_api.text# 我们的访问值是json文件格式,所以我们将其转换成Jsonfile_api_json = json.loads(file_api)print("密钥正确...")# 我们取出我们相应的ID值和请求时间,结果api_result = file_api_json.get("result")api_time = file_api_json.get("server_time")api_id = file_api_json.get("sess_id")# print(api_result,api_time,api_id)# 解析相关代码,构造请求Data表单files = {'file':open(file,'rb')}upload_data={"sess_id":api_id}print("准备文件成功...")# 上传代码print("开始上传...")upload_file = file_api_session.post(api_result,upload_data,files=files)upload_file_text = upload_file.textprint("上传成功...")# 转换成我们的Json文件upload_file_text_json = json.loads(upload_file_text)# 获取列表中的第一项upload_file_text_json = upload_file_text_json[0]# 获取我们服务器的响应值file_status = upload_file_text_json.get("file_status")if file_status == "OK":# 获取我们的存储链接file_code = upload_file_text_json.get("file_code")# 组合我们的存储链接finally_address = "https://send.cm/"+file_codeelse:finally_address = Noneprint("最终链接组成成功...")# 返回最终的结果return finally_address,api_timewebsite = upload_file_api("C:\\Users\\Administrator\\Desktop\\IDM-Send专用版本.exe")
print(website)

之前我有一个详细讲关于OS检测后缀名的程序,那么建议访问查看其原理

免费无限空间网盘!!Python使用Requests向免费无限存储国外国内都可以访问网盘给自己的文件夹添加文件相关推荐

  1. Python学习(九)IO 编程 —— 文件夹及文件操作

    Python 文件夹及文件操作 我们经常会与文件和目录打交道,对于这些操作,python可以使用 os 及 shutill 模块,其中包含了很多操作文件和目录的函数. os 可以执行简单的文件夹及文件 ...

  2. python读取文件夹-Python按顺序读取文件夹中文件

    参考资料: 涉及到文件操作,我们有时候会读取一个文件夹中的所有的文件.这些文件可能是文件名完全混乱的,也可能是完全格式化的(如1.png,2.png...).下面介绍Python中的几种按顺序(假如有 ...

  3. python中对文件、文件夹(文件操作函数)的操作

    python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 返回指定目录下的所有文件和目 ...

  4. python 文件操作 os 如何检索文件夹内文件数量

    参考文章1:python os获取文件夹中文件夹内文件的数量,保存为CSV文件 参考文章2:用python计算大文件夹下小文件夹里文件的个数

  5. python创建模块文件夹_python文件、文件夹、压缩包处理模块-shutil模块

    shutil模块 高级的文件.文件夹.压缩包 处理模块 本节内容基本在linux下python交互环境实现 复制移动文件.文件夹 将文件内容拷贝到另一个文件中,可以部分内容 格式如下: ``` shu ...

  6. python修改文件后缀_python实现遍历文件夹修改文件后缀

    本文实例为大家分享了python实现遍历文件夹修改文件后缀的具体代码,供大家参考,具体内容如下 用法 python Modifer.py ./ -fp java xml # coding:utf-8 ...

  7. python目录下的文件夹_Python列出当前文件夹下文件的两种方法

    使用Python做一些自动化操作时,经常与文件夹和文件打交道,这就依赖于OS模块了. OS是Operate System的缩写,是Python标准库中一个用于访问操作系统功能的模块,OS模块中的接口可 ...

  8. python 实现统计ftp服务器指定目录下文件夹数目、文件数目及所有文件大小 本次主要为满足应用方核对上传到ftp服务器的文件是否缺漏。 主要要求:指定目录下,文件夹数目/文件数目/所有文件大小

    python 实现统计ftp服务器指定目录下文件夹数目.文件数目及所有文件大小 本次主要为满足应用方核对上传到ftp服务器的文件是否缺漏. 主要要求:指定目录下,文件夹数目/文件数目/所有文件大小,类 ...

  9. python创建多个文件_Python创建文件夹与文件的快捷方法

    这篇文章主要给大家介绍了关于Python创建文件夹与文件的快捷方法以及批量创建文件夹的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学 ...

最新文章

  1. exchange2007收件人管理
  2. 大神整理的python资源大全
  3. 如何设计出“有趣”的互联网产品?
  4. java map套arraylist,在Java中的HashMap和ArrayList的区别?
  5. SAP ABAP收货或者货物移动(MIGO,MB11,MB1A)在保存时候的增强点
  6. OpenCV向Facemark API添加新算法
  7. Jquery基础 ajax error函数
  8. linux安全检测及防护,Linux安全检测及防护-单选题.doc
  9. idea警告Cannot resolve MVC View
  10. 最佳调度问题(搜索回溯)
  11. Ubuntu搭建tftp服务器
  12. iOS蓝牙原生封装,助力智能硬件开发
  13. C语言笔试题与答案解析
  14. coji 编程机器人_WowWee编程机器人怎么样 WowWee编程机器人使用测评
  15. Android软件图标分辨率,android app icon 图标大小尺寸
  16. Java实现 蓝桥杯VIP 算法训练 调和数列
  17. 显卡算力排行_RTX3090 时代最新GPU选购指南:哪款显卡配得上我的炼丹炉?
  18. 影视剧中十大经典反派台词!(来自大洋论坛)
  19. qq上word文件失效怎么恢复
  20. VK1668 SSOP24兼用TM1668的LED数码驱动芯片

热门文章

  1. 这10个问题去哪儿啦
  2. 最小拍无差控制器MATLAB求解,最小拍控制器设计.doc
  3. val3_learning
  4. 太极链——金融行业正在革新一套以区块链为主的经济商业模式
  5. 【taro react】---- 时间罗盘实现
  6. 基于Arduino的温控风扇
  7. 模仿QQ好友分组风格
  8. VS2022 安装.net4.5(亲测有效)
  9. 高德拉特的TOC制约理论—《可以量化…
  10. 拼多多怎么用有效评价做爆款,提高销量排名?