使用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 实现文件的递归拷贝实现代码
Aug 02 Python
python sort、sorted高级排序技巧
Nov 21 Python
用TensorFlow实现多类支持向量机的示例代码
Apr 28 Python
django_orm查询性能优化方法
Aug 20 Python
Python3实现腾讯云OCR识别
Nov 27 Python
python读取几个G的csv文件方法
Jan 07 Python
python 随机森林算法及其优化详解
Jul 11 Python
Python matplotlib生成图片背景透明的示例代码
Aug 30 Python
python爬虫爬取笔趣网小说网站过程图解
Nov 18 Python
基于Python爬取fofa网页端数据过程解析
Jul 13 Python
Django serializer优化类视图的实现示例
Jul 16 Python
详解python模块pychartdir安装及导入问题
Oct 22 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数据加密详解
2013/06/18 PHP
PHP中CURL的CURLOPT_POSTFIELDS参数使用细节
2014/03/17 PHP
十大使用PHP框架的理由
2015/09/26 PHP
JS写的贪吃蛇游戏(个人练习)
2013/07/08 Javascript
jquery中的on方法使用介绍
2013/12/29 Javascript
javascript对JSON数据排序的3个例子
2014/04/12 Javascript
Javascript判断图片尺寸大小实例分析
2014/06/16 Javascript
浅谈JavaScript数据类型
2015/03/03 Javascript
第一次动手实现bootstrap table分页效果
2016/09/22 Javascript
AngularJS控制器之间的通信方式详解
2016/11/03 Javascript
jQuery实现动态添加、删除按钮及input输入框的方法
2017/04/27 jQuery
使用vue的v-for生成table并给table加上序号的实例代码
2017/10/27 Javascript
Vue框架之goods组件开发详解
2018/01/25 Javascript
vue组件的写法汇总
2018/04/12 Javascript
微信小程序自定义组件封装及父子间组件传值的方法
2018/08/28 Javascript
jQuery pjax 应用简单示例
2018/09/20 jQuery
JS实现的Object数组去重功能示例【数组成员为Object对象】
2019/02/01 Javascript
Vue 解决父组件跳转子路由后当前导航active样式消失问题
2020/07/21 Javascript
Python中的ctime()方法使用教程
2015/05/22 Python
Python黑帽编程 3.4 跨越VLAN详解
2016/09/28 Python
Python常见字符串操作函数小结【split()、join()、strip()】
2018/02/02 Python
Flask框架信号用法实例分析
2018/07/24 Python
python爬取Ajax动态加载网页过程解析
2019/09/05 Python
python3通过subprocess模块调用脚本并和脚本交互的操作
2020/12/05 Python
python实现经纬度采样的示例代码
2020/12/10 Python
HTML5拖拽API经典实例详解
2018/04/20 HTML / CSS
编写一子程序,将一链表倒序,即使链表表尾变表头,表头变表尾
2016/02/10 面试题
初中生个人学习的自我评价
2013/12/04 职场文书
夫妻双方自愿离婚协议书
2014/10/24 职场文书
幸福家庭事迹材料
2014/12/20 职场文书
公司开除员工通知
2015/04/22 职场文书
2016年感恩节活动总结大全
2016/04/01 职场文书
Memcached介绍及php-memcache扩展安装
2021/04/01 PHP
CSS3 制作的图片滚动效果
2021/04/14 HTML / CSS
python munch库的使用解析
2021/05/25 Python
Apache SeaTunnel实现 非CDC数据抽取
2022/05/20 Servers