使用Python3 requests 操作CuteHttpFil
2019-03-27 本文已影响0人
她渐渐地笑了
CuteHttpFileServer/chfs是一个免费的、HTTP协议的文件共享服务器,使用浏览器可以快速访问。它具有以下特点:
- 单个文件,整个软件只有一个可执行程序,无配置文件等其他文件
- 跨平台运行,支持主流平台:Windows,Linux和Mac
- 界面简洁,简单易用
- 支持扫码下载和手机端访问,手机与电脑之间共享文件非常方便
- 支持账户权限控制和地址过滤
- 支持快速分享文字片段
- 支持webdav协议
与其他常用文件共享方式(如FTP,飞秋,网盘,自己建站)相比,具有使用简单,适用场景更多的优点,在个人使用以及共享给他人的场景中非常方便快捷。
本文主要介绍在Linux上的使用:
一、安装和配置
1. 首先在Linux下载文件(此版本为1.8版本)
wget http://iscute.cn/tar/chfs/1.8/chfs-linux-386-1.8.zip
2. 解压文件
unzip chfs-linux-386-1.8.zip
3. 给文件添加可执行权限
chmod +x chfs
4. 在文件目录下启动
# 启动主要配置了账号, 密码, 权限(r读w写d删除), 共享的文件夹, 监听的端口
./chfs --rule="::|user:pwd:rwd" --path="x:/xxx" --port=8080
二、使用requests调用api接口
1. 登录
import requests
# 保存cookie信息
file_session = requests.Session()
# 登录的账号密码
login_data = {"user": "admin", "pwd": "password"}
# 输入你启动的ip和端口
file_session.post('http://ip:port/session', data=login_data)
2. 删除文件
# 判断文件是否存在, dsc是路径, file是文件名称
resp = file_session.get('http://203.195.206.249:8080/exist?file={}/{}'.format(dsc, file))
if resp.ok:
resp = file_session.delete('http://ip:port/rmfiles?filepath={}/{}'.format(
dsc, file))
if resp.ok:
print('删除成功:', file)
return True
else:
print('删除失败:', file)
return False
else:
print('文件不存在, 无需删除!')
return True
3. 上传文件
# 先把要上传的文件转换为二进制信息
file_data = {'file': open("{}/{}".format(src, file), 'rb')}
# 上传文件的路径
data = {'folder': dsc}
resp = file_session.post('http://ip:port/upload', files=file_data, data=data)
if resp.ok:
print('上传成功:', file)
return True
else:
# 文件已存在在目录中, 不能覆盖
print('上传失败:', file)
return False