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


Posted in Python onOctober 26, 2018

服务器之间的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服务进行数据传输的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现在无须过多援引的情况下创建字典的方法
Sep 25 Python
用Python制作简单的朴素基数估计器的教程
Apr 01 Python
利用python画一颗心的方法示例
Jan 31 Python
使用python实现接口的方法
Jul 07 Python
Python 实现数据结构中的的栈队列
May 16 Python
python中的TCP(传输控制协议)用法实例分析
Nov 15 Python
Django继承自带user表并重写的例子
Nov 18 Python
python Opencv计算图像相似度过程解析
Dec 03 Python
python实现指定ip端口扫描方式
Dec 17 Python
keras 使用Lambda 快速新建层 添加多个参数操作
Jun 10 Python
Python如何将将模块分割成多个文件
Aug 04 Python
Pytorch 中的optimizer使用说明
Mar 03 Python
python 快速把超大txt文件转存为csv的实例
Oct 26 #Python
python针对不定分隔符切割提取字符串的方法
Oct 26 #Python
Python3 利用requests 库进行post携带账号密码请求数据的方法
Oct 26 #Python
Python异常的检测和处理方法
Oct 26 #Python
Python subprocess库的使用详解
Oct 26 #Python
Python中浅拷贝copy与深拷贝deepcopy的简单理解
Oct 26 #Python
Python分割指定页数的pdf文件方法
Oct 26 #Python
You might like
php递归函数怎么用才有效
2018/02/24 PHP
php提供实现反射的方法和实例代码
2019/09/17 PHP
javascript 放大镜 v1.0 基于Yui2 实现的放大镜效果
2010/03/08 Javascript
jquery下将选择的checkbox的id组成字符串的方法
2010/11/28 Javascript
JavaScript定义类的几种方式总结
2014/01/06 Javascript
jQuery简易图片放大特效示例代码
2014/06/09 Javascript
JSON.stringify转换JSON时日期时间不准确的解决方法
2014/08/08 Javascript
Javascript前端UI框架Kit使用指南之kitjs事件管理
2014/11/28 Javascript
jQuery实现点击按钮弹出可关闭层的浮动层插件
2015/09/19 Javascript
浅析jQuery移动开发中内联按钮和分组按钮的编写
2015/12/04 Javascript
第六章之辅组类与响应式工具
2016/04/25 Javascript
老生常谈javascript的类型转换
2016/10/12 Javascript
详解基于Vue+Koa的pm2配置
2017/10/24 Javascript
php 解压zip压缩包内容到指定目录的实例
2018/01/23 Javascript
一文快速了解JQuery中的AJAX
2019/05/31 jQuery
基于aotu.js实现微信自动添加通讯录中的联系人功能
2020/05/28 Javascript
[01:06:07]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS CIS
2014/05/22 DOTA
Python中atexit模块的基本使用示例
2015/07/08 Python
Python模拟用户登录验证
2017/09/11 Python
机器学习的框架偏向于Python的13个原因
2017/12/07 Python
python中的不可变数据类型与可变数据类型详解
2018/09/16 Python
使用Python如何测试InnoDB与MyISAM的读写性能
2018/09/18 Python
Appium+python自动化怎么查看程序所占端口号和IP
2019/06/14 Python
Python使用pyautocad+openpyxl处理cad文件示例
2019/07/11 Python
Python如何实现邮件功能
2020/05/27 Python
浅谈amaze-ui中datepicker和datetimepicker注意的几点
2020/08/21 HTML / CSS
工程地质勘察专业大学生求职信
2013/10/13 职场文书
高中生毕业学习总结的自我评价
2013/11/14 职场文书
《骆驼和羊》教学反思
2014/02/27 职场文书
父母寄语大全
2014/04/12 职场文书
党员自我剖析材料
2014/08/31 职场文书
党员查摆问题及整改措施
2014/10/10 职场文书
房屋所有权证明
2014/10/20 职场文书
2014小学二年级班主任工作总结
2014/12/05 职场文书
幼儿园五一劳动节活动总结
2015/02/09 职场文书
职工的安全责任书范文!
2019/07/02 职场文书