使用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 (1)
Oct 31 Python
Python实现将文本生成二维码的方法示例
Jul 18 Python
python利用urllib和urllib2访问http的GET/POST详解
Sep 27 Python
Flask框架Flask-Principal基本用法实例分析
Jul 23 Python
python样条插值的实现代码
Dec 17 Python
python 一篇文章搞懂装饰器所有用法(建议收藏)
Aug 23 Python
Django框架HttpRequest对象用法实例分析
Nov 01 Python
Pytorch 使用CNN图像分类的实现
Jun 16 Python
Keras预训练的ImageNet模型实现分类操作
Jul 07 Python
Python collections.deque双边队列原理详解
Oct 05 Python
django使用channels实现通信的示例
Oct 19 Python
python自动生成sql语句的脚本
Feb 24 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中调用JAVA
2006/10/09 PHP
php smarty的预保留变量总结
2008/12/04 PHP
php使用strtotime和date函数判断日期是否有效代码分享
2013/12/25 PHP
PHP常量使用的几个需要注意的地方(谨慎使用PHP中的常量)
2014/09/12 PHP
WordPress中用于创建以及获取侧边栏的PHP函数讲解
2015/12/29 PHP
php实现微信扫码自动登陆与注册功能
2016/09/22 PHP
PHP多进程通信-消息队列使用
2019/03/08 PHP
php7 图形用户界面GUI 开发示例
2020/02/22 PHP
Javascript 复制数组实现代码
2009/11/26 Javascript
jQuery LigerUI 使用教程入门篇
2012/01/18 Javascript
用JavaScript实现使用鼠标画线的示例代码
2014/08/19 Javascript
JavaScript基础知识及常用方法总结
2016/01/10 Javascript
Javascript类型系统之undefined和null浅析
2016/07/13 Javascript
JavaScript 轮播图和自定义滚动条配合鼠标滚轮分享代码贴
2016/10/28 Javascript
javascript基础知识之html5轮播图实例讲解(44)
2017/02/17 Javascript
浅析Angular2子模块以及异步加载
2017/04/24 Javascript
基于layer.js实现收货地址弹框选择然后返回相应的地址信息
2017/05/26 Javascript
vue-resouce设置请求头的三种方法
2017/09/12 Javascript
JS获取日期的方法实例【昨天,今天,明天,前n天,后n天的日期】
2017/09/28 Javascript
[原创]js实现保存文本框内容为本地文件兼容IE,chrome,火狐浏览器
2018/02/14 Javascript
Next.js项目实战踩坑指南(笔记)
2018/11/29 Javascript
javascript事件监听与事件委托实例详解
2019/08/16 Javascript
利用python实现微信头像加红色数字功能
2018/03/26 Python
不归路系列:Python入门之旅-一定要注意缩进!!!(推荐)
2019/04/16 Python
python实现连连看辅助之图像识别延伸
2019/07/17 Python
Python类反射机制使用实例解析
2019/12/30 Python
使用keras框架cnn+ctc_loss识别不定长字符图片操作
2020/06/29 Python
Python直接赋值及深浅拷贝原理详解
2020/09/05 Python
python合并多个excel文件的示例
2020/09/23 Python
开学典礼演讲稿
2014/05/23 职场文书
服装设计专业求职信
2014/06/16 职场文书
湖南省党的群众路线教育实践活动总结会议新闻稿
2014/10/21 职场文书
法制工作总结2015
2015/07/23 职场文书
员工给公司的建议书
2019/06/24 职场文书
酒店工程部的岗位职责汇总大全
2019/10/23 职场文书
2019年中学生的思想品德评语集锦
2019/12/19 职场文书