美文网首页python学习资料
python 实现ftp客户端

python 实现ftp客户端

作者: _String_ | 来源:发表于2017-05-18 14:50 被阅读0次

ftp客户端交互流程如下:

  1. 客户端连接远程服务器
  2. 客户端输入用户名、密码
  3. 客户端做各种文件传输和信息查询操作
  4. 客户端登出远程futp服务器
    完成以上步骤就实现了一个ftp客户端,在客户端实现时需要考虑服务器是工作做主动模式还是被动模式,服务器工作在主动模式时服务器21端口用于传输指令,一般数据端口使用20。
    使用python实现ftp客户端需要倒入ftplib模块,并实例化一个ftplib.FTP类对象,所有的FTP操作均使用这个对象完成。
    主要使用代码如下:
    from ftplib import FTP f = FTP(domain.name) f.login('user','password') .. f.quit()
    在客户端开发时主要使用ftplib.FTP类方法,该类主要包含方法如下:
    login()登录到ftp服务器,参数可选
    pwd()得到当前目录
    cwd()把当前目录设在成path
    dir()列目录一个可选参数,他会被传给
    nlst()与dir类似返回文件名列表而不是现实这些文件名
    retrlinces()个顶FTP命令如RETR filename用于下载文本文件,可选回调函数cb用处理文件每一行
    retrbinary()与retrlines()类似
    storbinary(cmd,f[,bs=8192])
    storlines(cmd,f)上传文件,f为一个文件对象
    rename(old,new)修改文件名
    delete(path)删除指定目录
    mkd(directory)创建目录
    md(directory)删除远程目录
    quit()关闭连接
    具体实现代码如下:
    `
    示例代码:#!/usr/bin/env python
    import ftplib
    import os
    import socket

HOST='004.3vftp.com'
DIRN='./'
FILE ='xcount.py'

def main():
try:
f = ftplib.FTP('004.3vftp.com')
except (socket.error,socket.gaierror), e:
print 'ERROR: cannot reach "%s"' % HOST
return
print """connected to host "%s"""" % HOST
pwd = raw_input('please inpu password:')
user = raw_input('please input user:')
try:
f.login(user,pwd)
except ftplib.error_perm:
print 'error: cannot login anonymously'
return
print '-------logged in as %s secuss----' % user
try:
f.retrbinary('RETR %s' % FILE, open(FILE,'wb').write)
except ftplib.error_perm:
print 'ERROR: cannot read file "%s" % FILE'
os.unlink(FILE)
else:
print '
Downloaded "%s" to cwd' % FILE
f.quit()
return

if name == 'main':
main()

`

相关文章

  • ftplib模块

    Python中默认安装的ftplib模块定义了FTP类,其中函数有限,可用来实现简单的ftp客户端,用于上传或下载...

  • python 实现nntp客户端

    与ftp客户端实现方式一样python在编写nntp客户端是需要倒入nntplib如from nntplib im...

  • python 实现ftp客户端

    ftp客户端交互流程如下: 客户端连接远程服务器 客户端输入用户名、密码 客户端做各种文件传输和信息查询操作 客户...

  • 用Python写FTP客户端程序

    0 前言: ftp客户端相信大家都用过,那么我们为什么还要用Python写ftp客户端呢? 我想有两个原因: 一是...

  • 一个简单python ftp客户端源码

    如下内容内容是关于一个简单python ftp客户端的内容。 #!/usr/bin/python import f...

  • [雪峰磁针石博客]python模块介绍-ftplib:FTP协议

    概述 该模块定义了FTP类和一些相关项。FTP类实现了FTP协议的客户端。你可以用它来编写使用FTP的URL。有关...

  • python生成简单的FTP弱口令扫描

    前言 Ftp这个类实现了Ftp客户端的大多数功能,比如连接Ftp服务器、查看服务器中的文件、上传、下载文件等功能,...

  • python 实现FTP文件批量下载

    前言 Python内置模块ftplib,可以轻松实现从ftp服务器上下载所需要的文件,包括目录结构 正文 FTP协...

  • ftp客户端实现(二)

    客户端登陆ftp服务器 流程 与ftp服务器建立连接 发送用户名和密码 使服务器进入被动模式 代码实现 简单代码解...

  • ftp客户端实现(一)

    前置知识 ftp学习资料ftp命令: 下面是ftp响应码: 配置测试环境 由于是在windows上测试所以决定在w...

网友评论

    本文标题:python 实现ftp客户端

    本文链接:https://www.haomeiwen.com/subject/catsxxtx.html