当前位置:首页 » 文件管理 » pythonftp

pythonftp

发布时间: 2022-01-09 01:18:23

python ftp模块有支持passive off这个命令吗

因为FTP有两种工作模式,PORT方式和PASV方式,中文意思为主动式和被动式,详细介绍如下:主动FTP:命令连接:客户端>1024端口→服务器21端口数据连接:客户端>1024端口←服务器20端口被动FTP:命令连接:客户端>1024端口→服务器21端口数据连接:客户端>1024端口←服务器>1024端口PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器:“我打开了***X端口,你过来连接我”。于是服务器从20端口向客户端的***X端口发送连接请求,建立一条数据链路来传送数据。PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了***X端口,你过来连接我”。于是客户端向服务器的***X端口发送连接请求,建立一条数据链路来传送数据。解决此问题的法也很简单,关闭客户端的PASV方式,强制其用PORT方式访问服务器,登录FTP服务器后用passive命令关闭客户端的PASV方式,如下:ftp>passivePassivemodeoff.ftp>passive(再次运行命令可打开)Passivemodeon.

⑵ python查看FTP是否能连接成功的方法

#!/usr/local/bin/python
#-*- coding: UTF-8 -*-
####################################################################
# python 查看FTP是否能连接成功
####################################################################
#import ftplib
##f = ftplib.FTP('192.168.100.214')
##f.login('GDATA_MEM','123456')
##ftplib.set_debuglevel(2) #打开调试级别2,显示详细信息
#data=ftplib.FTP('127.0.0.1','admin','123456')
#print data
from ftplib import FTP
def ftp_open(host='',user='',passwd=''): #打开FTP
try:
ftp=FTP()
) #打开调试级别2,显示详细信息
) #连接
data=ftp.login(user,passwd) #登录,如果匿名登录则用空串代替即可
print () #欢迎词
#print data
return 1
except:
return 0
if __name__=='__main__':
if ftp_open('127.0.0.1','admin','1234561'): #打开FTP
print "打开FTP成功"
else:
print "打开FTP失败"

⑶ python ftp连接指定服务器,并下载指定文件

ftp客户端一般只有显示、上传、下载,并没有打开文件的操作,所以你得先下载相应配置文件,在本地解析后,再继续用相关参数下载后续文件。

⑷ python,如何下载FTP上的文件

importftplib,socket
defconnect():
CONST_HOST="xxxx.xxxx.xxx"
CONST_USERNAME="xxxxx"
CONST_PWD="xxxxxxx"
try:
ftp=ftplib.FTP(CONST_HOST)
ftp.login(CONST_USERNAME,CONST_PWD)
returnftp
exceptsocket.error,socket.gaierror:
print("FTPisunavailable,pleasecheckthehost,usernameandpassword!")
sys.exit(0)

defdisconnect(ftp):
ftp.quit()

defdownload(ftp,filename):
#预定义每次写文件的buffer
CONST_BUFFER_SIZE=8192
f=open(filename,"wb").write
try:
ftp.retrbinary("RETR%s"%filename,f,CONST_BUFFER_SIZE)
exceptftplib.error_perm:
returnFalse
returnTrue

deffind(ftp,filename):
ftp_f_list=ftp.nlst()
iffilenameinftp_f_list:
returnTrue
else:
returnFalse
ftp=connect()
#yourfile为你想要下载的文件
iffind(ftp,'yourfile'):
download(ftp,'yourfile')
disconnect(ftp)

⑸ Python中如何获取FTP服务器上的文件大小

这要看你下载用了哪个ftp库
搜到的代码

files = ftp.nlst()
for f in files:
print f

⑹ 如何用python写ftp服务器

参考下面的连接:
http://www.open-open.com/lib/view/open1326808627280.html
http://blog.csdn.net/lf8289/article/details/2743269

⑺ 如何在Python中使用FTP

from ftplip import FTP # 首先要引入 ftplib 这个库

# 接着,这是我自定义的几个用于操作 ftp 的函数,def 后面跟的是自定义函数名,函数体内FTP 相关的语句和函数来自上面 import 那个包,你自己体会吧:
# 初始化 FTP 连接
def ftp_open(HOST,PORT,USERNAME,PASSWORD):
ftp=FTP()
ftp.set_debuglevel(2)
ftp.connect(host=HOST,port=PORT)
ftp.login(USERNAME,PASSWORD)
return ftp

# 关闭 FTP 连接
def ftp_close(ftp):
ftp.set_debuglevel(0)
ftp.quit()

# 文件上传函数,filename 可以是windows 格式包含全路径的文件
def ftp_up(ftp,filename):
#print(ftp.getwelcome())
#ftp.cwd('xxx/www')
file_handler=open(filename,'rb')
ftp.storbinary('STOR %s' % os.path.basename(filename),file_handler)
file_handler.close()
print('FTP up OK.')

# 文件下载函数,filename 可以是windows 格式包含全路径的文件
def ftp_down(ftp,filename):
#print(ftp.getwelcome())
#ftp.cwd('xxx/www')
file_handler=open(filename,'wb')
ftp.retrbinary('RETR %s' % os.path.basename(filename),file_handler)
file_handler.close()
print('FTP down OK.')

⑻ python如何创建FTP目录

直接使用ftplib就可以实现,其中有一个nlst功能用于查询目录,cwd用于改变目录,还有一个size功能。你这边只需要保留一个目录的镜像。如果发现有目录差异,或者是文件大小发生变更,就用retrbinary进行文件同步就可以。

⑼ python ftp permission denied怎么解决

FTP 550 Permission denied 只能建文件夹,没法删除及上传文件的解决方法,需要的朋友可以参考下。

出现这种问题,
①首先检查用户对应的角色名,然后看路径设置是否正确,有没有相关的权限,如果这些都没问题,然后就尝试下面的操作:
②重起FTP服务,最好从服务里面重启(不能根本解决);
③重新设置Server-U帐号和目录访问里的文件路径(如果还不行,尝试下面操作);
④删除用户,重新建。

原创 SU整理(FTP)收藏
整理如下:

1开头-成功
2开头-成功
3开头-权限问题
4开头-文件问题
5开头-服务器问题
150 FILE: %s
150 Opening %s mode data connection for %s (%I64d Bytes).
150 Opening %s mode data connection for %s.
150 Opening ASCII mode data connection for /bin/ls.
150 Opening BINARY mode data connection for MLSD.
200 (end of 'index %s')
200 Command channel switched to clear-text.
200 Command OK, %I64d Bytes available on %s
200 Command okay.
200 EXEC command successful (TID=%u).
200 Message received okay.
200 MLST OPTS
200 MODE S ok.
200 MODE Z LEVEL set to %d.
200 MODE Z ok.
200 Noted.
200 Opened OK (but not really).
200 PBSZ command OK. Protection buffer size set to 0.
200 PBSZ=0
200 PORT Command successful.
200 PROT command OK. Using clear data connection.
200 PROT command OK. Using private data connection.
200 SSCN:CLIENT METHOD
200 SSCN:SERVER METHOD
200 STRU F ok.
200 STRU R ok.
200 Transfer progress notification is off.
200 Transfer progress notification is on.
200 Type set to A.
200 Type set to I.
202 Command not implemented, superfluous at this site.
202 Command not implemented, superfluous at this site.
210 UTC%+ld
211 End
211 End of status.
211-Extension supported
211-Status for user %Name from %IP:
213 %I64d
213 %s
214 Direct comments or bugs to [email protected].
214- The following commands are recognized (* => unimplemented).
215 UNIX Type: L8
220 Service ready for new user.
220 Serv-U FTP Server v%s for WinSock ready...
221 Goodbye!
226 ABOR command successful.
226 Transfer complete.
226 Transfer complete.
226 Transfer complete.
227 Entering Passive Mode (%d,%d,%d,%d,%d,%d)
230 Password changed okay.
230 Switching to SYSTEM MAINTENANCE mode.
230 User logged in, proceed.
230 User logged in.
231 Switching to GROUP MAINTENANCE mode.
232 Switching to DOMAIN MAINTENANCE mode.
233 Switching to READ-ONLY MAINTENANCE mode.
233 User logged in, PASSWORD EXPIRED - please change before proceeding.
234 AUTH command OK. Already have SSL connection.
234 AUTH command OK. Initializing SSL connection.
250 %X
250 DELE command successful.
250 Directory changed to %s
250 End.
250 RMD command successful.
250 RNTO command successful.
250-Listing %s
253 Attributes changed okay.
253 Date/time changed okay.
257 "%s" directory created.
257 "%s" is current directory.
321 Transferred %I64d Bytes.
331 Response to otp-md%d %u %s required for skey.
331 User name okay, need password.
331 User name okay, please send complete E-mail address as password.
350 File or directory exists, ready for destination name
350 Restarting at %I64d. Send STORE or RETRIEVE.
421 Data connection closed (SSL/TLS negotiation failed).
421 Service closing control connection.
425 Cannot open data connection.
425 Cannot open data connection.
425 Cannot open data connection.
425 Try later, data connection in use.
425 Try later, data connection in use.
425 Try later, data connection in use.
425 Try later, out of network sockets.
425 Try later, out of network sockets.
425 Try later, out of network sockets.
425 Unable to listen, too many pending PASV requests from same client IP.
425 Unable to set up passive listening socket.
426 Data connection closed, cannot read file %s.
426 Data connection closed, cannot write file %s - disk full?
426 Data connection closed, error compressing data stream.
426 Data connection closed, error decompressing data stream.
426 Data connection closed, file transfer %s aborted by client.
426 Data connection closed, file transfer %s aborted.
426 Data connection closed, receive file %s aborted.
426 Data connection closed, transfer aborted.
426 Transfer aborted.
431 Account temporarily locked for other user, please try later.
431 Password not changed, no match for old password.
431 Unable to negotiate secure command connection.
432 Password not changed, new password should be at least %d characters in length.
432 Password not changed, new password should contain at least one upper-case character and symbol
432 Password not changed, old and new passwords cannot be identical.
450 Cannot open file %s for reading.
452 Sorry, insufficient disk quota - receive file %s aborted.
500 '%s': command not understood.
501 %s: Not a directory.
501 Cannot EXEC command line (error=%u).
501 Invalid MLST options
501 Invalid option.
501 Not enough space, only %I64d Bytes available on drive %s
501 Permission denied.
501 SITE option not supported.
501 Syntax error in parameters or arguments.
501 Syntax error in parameters or arguments.
501 Syntax error in parameters or arguments.
501 Syntax error in parameters or arguments.
501 Syntax error in parameters or arguments.
501 Syntax error in parameters or arguments.
501 Syntax error in parameters or arguments.
501 Syntax error in parameters or arguments.
501 Syntax error in parameters or arguments.
501 Syntax error in parameters or arguments.
501 Syntax error in parameters or arguments.
501 Syntax error in parameters or arguments.
501 Syntax error in parameters or arguments.
501 Syntax error in parameters or arguments.
501 Syntax error in parameters or arguments.
501 Syntax error in parameters or arguments.
501 Syntax error in parameters or arguments.
501 Syntax error in parameters or arguments.
501 Syntax error in parameters or arguments.
501 Wildcards not allowed.
502 Syntax error - use SITE PSWD "<oldpassword>" "<newpassword>".
503 Bad sequence of commands.
503 Bad sequence of commands.
503 Secure command connection required prior to PBSZ command.
503 Secure command connection required prior to PROT command.
504 Command not implemented for that parameter.
504 Command not implemented for that parameter.
504 Command not implemented for that parameter.
504 Unknown security mechanism.
510 Cannot determine server time zone.
521 Data connection cannot be opened with this PROT setting.
522 SSL/TLS lib refuses to initiate secure data connection.
530 Cannot change Anonymous password.
530 Cannot change password.
530 Not logged in, cannot find home directory.
530 Not logged in, home directory does not exist.

热点内容
java客户端程序 发布:2024-05-04 08:08:11 浏览:939
腾讯视频账号和密码哪里看 发布:2024-05-04 08:08:11 浏览:451
专网数据存储安全问题分析 发布:2024-05-04 07:33:28 浏览:131
如何获得打印机无线密码 发布:2024-05-04 06:44:59 浏览:418
上古诸神录哪里改密码 发布:2024-05-04 06:43:55 浏览:263
灌篮高手手游自动盖帽脚本 发布:2024-05-04 06:42:31 浏览:425
javajs引擎 发布:2024-05-04 06:37:33 浏览:798
javalist重复 发布:2024-05-04 06:19:27 浏览:511
max脚本管理 发布:2024-05-04 06:02:31 浏览:45
自行搭建服务器 发布:2024-05-04 06:01:12 浏览:126