使用python实现http及ftp服务进行数据传输的方法
作者:mazhen1991 时间:2021-08-26 01:20:19
服务器之间的http数据传输
直接使用python内置的http服务:
python -m SimpleHTTPServer 8000
此时,输入指令的目录就已经开启了http服务,8000为端口(如不指定,默认为8000),如果我们需要在其他机器下垃取该目录下的文件,只需在目标机器运行:
wget ip:port/文件名
速度杠杆的。
开启ftp上传文件
安装ftp的python第三方组件
pip install pyftpdlib
编写启动脚本
from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer
import os
def main():
# Instantiate a dummy authorizer for managing 'virtual' users
authorizer = DummyAuthorizer()
# Define a new user having full r/w permissions and a read-only
# anonymous user
authorizer.add_user('user', '12345', '.', perm='elradfmwM')
authorizer.add_anonymous(os.getcwd())
# Instantiate FTP handler class
handler = FTPHandler
handler.authorizer = authorizer
# Define a customized banner (string returned when client connects)
handler.banner = "pyftpdlib based ftpd ready."
# Specify a masquerade address and the range of ports to use for
# passive connections. Decomment in case you're behind a NAT.
#handler.masquerade_address = '151.25.42.11'
#handler.passive_ports = range(60000, 65535)
# Instantiate FTP server class and listen on 0.0.0.0:2121
address = ('', 8888)
server = FTPServer(address, handler)
# set a limit for connections
server.max_cons = 256
server.max_cons_per_ip = 5
# start ftp server
server.serve_forever()
if __name__ == '__main__':
main()
其中8888是我设定的端口号,user是用户名,12345是我指定的密码,此时,我们至需要运行脚本,就可以使用ftp工具,连接该ftp服务器,并上传文件了。
如果我们不使用我们自己编写的脚本,而是直接使用内置的脚本:
python -m pyftpdlib -p 8888
此时,连接该ftp服务器,使用的是默认的用户:anonymous,但是当我们上传文件时,会发现,没有该用户的上传权限,所以,这里建议自己编写运行脚本。
来源:https://blog.csdn.net/mazhen1991/article/details/80579856
标签:python,http,ftp
0
投稿
猜你喜欢
Asp的上下午时间格式问题
2009-04-13 16:06:00
Python的GUI编程之Pack、Place、Grid的区别说明
2022-10-19 05:53:57
CSS实现元素透明的那些事
2009-09-07 12:22:00
python实现给微信公众号发送消息的方法
2021-08-25 23:44:57
Mysql中如何删除某个字段的最后四个字符
2024-01-28 22:44:07
MySQL回表的性能伤害程度有多大
2024-01-29 10:55:55
Python机器学习之基础概述
2021-07-18 19:07:59
mysql 5.7.25 安装配置方法图文教程
2024-01-14 02:21:32
Python 如何读取字典的所有键-值对
2021-05-21 10:06:53
python GUI库图形界面开发之PyQt5拖放控件实例详解
2023-04-26 08:43:24
基于python写个国庆假期倒计时程序
2022-06-04 20:35:32
图文详解mysql中with...as用法
2024-01-27 20:52:43
基于Python实现网页文章转PDF文档
2022-08-23 08:50:17
JavaScript判断undefined类型的正确方法
2024-04-10 11:04:05
浅谈pycharm的xmx和xms设置方法
2022-03-06 13:33:42
django模板加载静态文件的方法步骤
2023-04-12 17:13:26
详解python 一维、二维列表的初始化问题
2023-01-21 06:57:31
vue+element树组件 实现树懒加载的过程详解
2024-05-25 15:19:36
Python的函数的一些高阶特性
2022-06-04 15:06:28
IPython 8.0 Python 命令行交互工具
2022-10-24 09:17:54