pythonftp编程_使用python实现http及ftp服务进行数据传输的方法

3a2c5c47719654b2eb3ed26ac95e70d8.png

服务器之间的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,但是当我们上传文件时,会发现,没有该用户的上传权限,所以,这里建议自己编写运行脚本。

以上这篇使用python实现http及ftp服务进行数据传输的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值