使用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
  • asp之家 网络编程 m.aspxhome.com