使用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实现监控linux性能及进程消耗性能的方法
Jul 25 Python
Python中input和raw_input的一点区别
Oct 21 Python
python3实现读取chrome浏览器cookie
Jun 19 Python
Python存取XML的常见方法实例分析
Mar 21 Python
Python+Socket实现基于UDP协议的局域网广播功能示例
Aug 31 Python
Python BS4库的安装与使用详解
Aug 08 Python
python判断数字是否是超级素数幂
Sep 27 Python
关于Python 的简单栅格图像边界提取方法
Jul 05 Python
python实现车牌识别的示例代码
Aug 05 Python
在Python中通过threshold创建mask方式
Feb 19 Python
Python实现队列的方法示例小结【数组,链表】
Feb 22 Python
python为什么要安装到c盘
Jul 20 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提取视频网站页面中的FLASH地址的代码
2010/04/17 PHP
PHP编程函数安全篇
2013/01/08 PHP
php for 循环使用的简单实例
2016/06/02 PHP
PHP实现的简单排列组合算法应用示例
2017/06/20 PHP
为Yahoo! UI Extensions Grid增加内置的可编辑器
2007/03/10 Javascript
浏览器图片选择预览、旋转、批量上传的JS代码实现
2013/12/04 Javascript
js或jquery实现页面打印可局部打印
2014/03/27 Javascript
jquery插件之文字间歇自动向上滚动效果代码
2016/02/25 Javascript
javascript解决小数的加减乘除精度丢失的方案
2016/05/31 Javascript
jQuery数据检索中根据关键字快速定位GridView指定行的实现方法
2016/06/08 Javascript
jQuery简单创建节点的方法
2016/09/09 Javascript
easyui datagrid 表格中操作栏 按钮图标不显示的解决方法
2017/07/27 Javascript
JavaScript同源策略和跨域访问实例详解
2018/04/03 Javascript
JavaScript实现构造json数组的方法分析
2018/08/17 Javascript
Vue实现本地购物车功能
2018/12/05 Javascript
详解JSON和JSONP劫持以及解决方法
2019/03/08 Javascript
微信公众号H5之微信分享常见错误和问题(小结)
2019/11/14 Javascript
详解Python函数作用域的LEGB顺序
2016/05/14 Python
Python实现将HTML转换成doc格式文件的方法示例
2017/11/20 Python
Python2.7基于笛卡尔积算法实现N个数组的排列组合运算示例
2017/11/23 Python
python 定义n个变量方法 (变量声明自动化)
2018/11/10 Python
pyqt5 实现工具栏文字图片同时显示
2019/06/13 Python
Python 读取用户指令和格式化打印实现解析
2019/09/02 Python
python使用socket 先读取长度,在读取报文内容示例
2019/09/26 Python
python属于解释语言吗
2020/06/11 Python
Julep官网:美容产品和指甲油
2017/02/25 全球购物
Java语言程序设计测试题判断题部分
2013/01/06 面试题
机械专业求职信
2014/05/25 职场文书
主题团日活动总结
2014/06/25 职场文书
革命英雄事迹演讲稿
2014/09/13 职场文书
大学生村官个人总结
2015/02/15 职场文书
100句拼搏进取的名言警句,值得一读!
2019/10/07 职场文书
在redisCluster中模糊获取key方式
2021/07/09 Redis
Python 中 Shutil 模块详情
2021/11/11 Python
Pytorch中expand()的使用(扩展某个维度)
2022/07/15 Python