python FTP&telnet

FTP为文件传输,telnet为登陆远程终端的协议

以下内容为转载:

ftplib模块定义了FTP类和一些方法,用以进行客户端的ftp编程。可以用python编写一个自已的ftp客户端程序,用于下载文件或镜像站点。如果想了解ftp协议的详细内容,请参考RFC959

该模块是python的通用模块,所以默认应该已安装。ftplib模块使用很简单,暂时只有一个FTP类和十几个函数。

下面用一个交互方式演示一下ftplib的主要功能。

>>> from ftplib import FTP

>>> ftp = FTP('ftp.cwi.nl')   # connect to host, default port

>>> ftp.login()               # user anonymous, passwd anonymous@

>>> ftp.retrlines('LIST')     # list directory contents

total 24418

drwxrwsr-x  5 ftp-usr  pdmaint     1536 Mar 20 09:48 .

dr-xr-srwt 105 ftp-usr  pdmaint    1536 Mar 21 14:32 ..

-rw-r--r--  1 ftp-usr  pdmaint     5305 Mar 20 09:48 INDEX

 .

 .

 .

>>> ftp.retrbinary('RETR README', open('README', 'wb').write)

'226 Transfer complete.'

>>> ftp.quit()

 

 

下面一个下载文件的示例

#!/usr/bin/env python

#author:Jims of http://www.ringkee.com/
#create date: 2005/02/05
#description: Using ftplib module download a file from a ftp server.

from ftplib import FTP

ftp=FTP()

ftp.set_debuglevel(2) #
打开调试级别2,显示详细信息
ftp.connect('ftp_server','port') #
连接
ftp.login('username','password') #
登录,如果匿名登录则用空串代替即可

print ftp.getwelcome() #
显示ftp服务器欢迎信息
ftp.cwd('xxx/xxx/') #
选择操作目录
bufsize = 1024 #
设置缓冲块大小
filename='dog.jpg' 
file_handler = open(filename,'wb').write #
以写模式在本地打开文件
ftp.retrbinary('RETR dog.jpg',file_handler,bufsize) #
接收服务器上文件并写入本地文件
ftp.set_debuglevel(0) #
关闭调试

ftp.quit() #
退出ftp服务器

下面一个上传文件的示例,要成功运行该脚本,需在ftp服务器上有上传文件的权限。

#!/usr/bin/env python

#author:Jims of http://www.ringkee.com/
#create date: 2005/02/05
#description: Using ftplib module upload a file to a ftp server.

from ftplib import FTP

ftp=FTP()

ftp.set_debuglevel(2)
ftp.connect('ftp_server','port')
ftp.login('username','password')

print ftp.getwelcome()
ftp.cwd('xxx/xxx/')
bufsize = 1024
filename='dog.jpg'
file_handler = open(filename,'rb')
ftp.storbinary('STOR dog.jpg',file_handler,bufsize) #
上传文件
ftp.set_debuglevel(0)

file_handler.close() #
关闭文件
ftp.quit()

 

使用telnet 连接

RussellLuo

使用Python实现Telnet远程登录

一、Windows下开启Telnet服务

(详见:与Win7防火墙无缝结合 Telnet功能测试

1、Windows 2000/XP/2003/Vista:默认已安装但禁止了Telnet服务

(1)开启Telnet:运行services.msc打开服务管理,找到Telnet服务项设置其启动类型为“自动”或者“手动”(更安全,只在需要的时候才启用),然后启动该服务即可。

2、Windos 7:默认未安装Telnet服务

(1)安装Telnet:依次点击“开始”→“控制面板”→“程序”,“在程序和功能”找到并点击“打开或关闭Windows 功能”进入Windows 功能设置对话框。找到并勾选“Telnet客户端”和“Telnet服务器”,最后“确定”稍等片刻即可完成安装。

(2)开启Telnet:方法同1中的(1)

二、Linux下开启Telnet服务

(详见:Ubuntu 10.10 下配置Telnet服务器

(1)安装telnetd(即telnet-server):apt-get install telnetd

(2)安装xinetd(telnet-server的运行需要由xinetd来管理):apt-get install xinetd

(3)配置telnet文件:vi /etc/xinetd.d/telnet

(4)开启xinetd:service xinetd start

三、使用Python实现Telnet远程登录

  Python中专门提供了telnetlib库,用来完成基于telnet协议的通信功能。

  利用telnetlib实现远程登录功能的代码如下:

 1 # -*- coding: utf-8 -*-
 2
 3 import telnetlib
 4 
 5  '''Telnet
远程登录:Windows客户端连接Linux服务器'''
 6 
 7  #
配置选项
 8   Host = '192.168.1.2' # Telnet 服务器IP
 9   username = 'admin'   # 登录用户名
10   password = '123456'  # 登录密码
11   finish = ':~$ '      # 命令提示符(标识着上一条命令已执行完毕)
12  
13  #
连接Telnet服务器
14   tn = telnetlib.Telnet(Host)
15 
16  #
输入登录用户名
17   tn.read_until('login: ')
18 tn.write(username + '\n')
19 
20  #
输入登录密码
21   tn.read_until('Password: ')
22 tn.write(password + '\n')
23 
24  #
登录完毕后,执行ls命令
25   tn.read_until(finish)
26 tn.write('ls\n')
27 
28  # ls
命令执行完毕后,终止Telnet连接(或输入exit退出)
29   tn.read_until(finish)
30  tn.close()# tn.write('exit\n')

转载于:https://my.oschina.net/zhengyijie/blog/82010

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值