如果您对从Unix脚本检查ftp返回码感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于从Unix脚本检查ftp返回码的详细内容,我们还将为您解答ftp命令返回值的相关问题,并
如果您对从Unix脚本检查ftp返回码感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于从Unix脚本检查ftp返回码的详细内容,我们还将为您解答ftp命令返回值的相关问题,并且为您提供关于c# – 检查FTP服务器上是否存在目录、FTP协议的命令与返回码、FTP返回值代表含义、ftp返回码的有价值信息。
本文目录一览:从Unix脚本检查ftp返回码(ftp命令返回值)
然后我将原因放入日志和电子邮件中.
解决方法
在日志中处理三位数代码要好得多 – 如果您要发送二进制文件,则可以检查发送的字节是否正确.
三位数代码称为“系列代码”,列表可以找到here
c# – 检查FTP服务器上是否存在目录
public bool DirectoryExists(string directory) { bool directoryExists; var request = (FtpWebRequest)WebRequest.Create(directory); request.Method = WebRequestMethods.Ftp.ListDirectory; request.Credentials = new NetworkCredential("user","pass"); try { using (request.GetResponse()) { directoryExists = true; } } catch (WebException) { directoryExists = false; } return directoryExists; }
在这种情况下:
directory = @"ftp://ftp.example.com/Rubicon";
在我的服务器上,我有一个名为Rubicon1的文件夹.这使我的支票返回true.如何确保它失败,除非它完全匹配目录名称?
解决方法
directory = @"ftp://ftp.example.com/Rubicon/";
FTP协议的命令与返回码
FTP命令
命令 | 描述 |
ABOR | 中断数据连接程序 |
ACCT <account> | 系统特权帐号 |
ALLO <bytes> | 为服务器上的文件存储器分配字节 |
APPE <filename> | 添加文件到服务器同名文件 |
CDUP <dir path> | 改变服务器上的父目录 |
CWD <dir path> | 改变服务器上的工作目录 |
DELE <filename> | 删除服务器上的指定文件 |
HELP <command> | 返回指定命令信息 |
LIST <name> | 如果是文件名列出文件信息,如果是目录则列出文件列表 |
MODE <mode> | 传输模式(S=流模式,B=块模式,C=压缩模式) |
MKD <directory> | 在服务器上建立指定目录 |
NLST <directory> | 列出指定目录内容 |
NOOP | 无动作,除了来自服务器上的承认 |
PASS <password> | 系统登录密码 |
PASV | 请求服务器等待数据连接 |
PORT <address> | IP 地址和两字节的端口 ID |
PWD | 显示当前工作目录 |
QUIT | 从 FTP 服务器上退出登录 |
REIN | 重新初始化登录状态连接 |
REST <offset> | 由特定偏移量重启文件传递 |
RETR <filename> | 从服务器上找回(复制)文件 |
RMD <directory> | 在服务器上删除指定目录 |
RNFR <old path> | 对旧路径重命名 |
RNTO <new path> | 对新路径重命名 |
SITE <params> | 由服务器提供的站点特殊参数 |
SMNT <pathname> | 挂载指定文件结构 |
STAT <directory> | 在当前程序或目录上返回信息 |
STOR <filename> | 储存(复制)文件到服务器上 |
STOU <filename> | 储存文件到服务器名称上 |
STRU <type> | 数据结构(F=文件,R=记录,P=页面) |
SYST | 返回服务器使用的操作系统 |
TYPE <data type> | 数据类型(A=ASCII,E=EBCDIC,I=binary) |
USER <username>> | 系统登录的用户名 |
FTP响应码
响应代码 | 解释说明 |
110 | 新文件指示器上的重启标记 |
120 | 服务器准备就绪的时间(分钟数) |
125 | 打开数据连接,开始传输 |
150 | 打开连接 |
200 | 成功 |
202 | 命令没有执行 |
211 | 系统状态回复 |
212 | 目录状态回复 |
213 | 文件状态回复 |
214 | 帮助信息回复 |
215 | 系统类型回复 |
220 | 服务就绪 |
221 | 退出网络 |
225 | 打开数据连接 |
226 | 结束数据连接 |
227 | 进入被动模式(IP 地址、ID 端口) |
230 | 登录因特网 |
250 | 文件行为完成 |
257 | 路径名建立 |
331 | 要求密码 |
332 | 要求帐号 |
350 | 文件行为暂停 |
421 | 服务关闭 |
425 | 无法打开数据连接 |
426 | 结束连接 |
450 | 文件不可用 |
451 | 遇到本地错误 |
452 | 磁盘空间不足 |
500 | 无效命令 |
501 | 错误参数 |
502 | 命令没有执行 |
503 | 错误指令序列 |
504 | 无效命令参数 |
530 | 未登录网络 |
532 | 存储文件需要帐号 |
550 | 文件不可用 |
551 | 不知道的页类型 |
552 | 超过存储分配 |
553 | 文件名不允许 |
FTP返回值代表含义
FTP:屏幕信息举例
1、用户要用FTP和远地主机(网络信息中心NIC上的主机)建立连接。
2、本地FTP发出的连接成功信息。
3、从远地服务器返回的信息,220表示“服务就绪”。
4、本地FTP提示用户键入名字。用户键入的名字表示“匿名”。在internet上有许多文件免费向公众提供。用户不需要键入自己的真是名字而只需键入anonymous即可。
5、数字331表示“用户名正确”,需要口令。
6、本地FTP提示用户键入口令。用户这时可键入guest作为匿名的口令,也可以键入自己的电子邮件地址,即耶鲁大学数学系名为xyz的主机上的abc。
7、数字230表示用户已经注册完毕。
8、“ftp> ”是FTP提示信息。用户键入的是将目录改变为包含RFC文件的目录。
9、字符CWD是FTP的标准命令,代表Change Working Directory。
10、用户要求将名为rfc1261.txt的文件复制到本地主机上,并改名为nicinfo。
11、字符PORT是FTP的标准命令,表示要建立数据连接。200表示“命令正确”。
12、数字150表示“文件状态正确,即将建立数据连接”。
13、数字226是“释放数据连接”。现在一个新的本地文件已产生。
14、用户键入退出命令。
15、表明FTP工作结束。
这些状态代码指示一项*作已经成功开始,但客户端希望在继续*作新命令前得到另一个答复。
?? 110 重新启动标记答复。
?? 120 服务已就绪,在 nnn 分钟后开始。
?? 125 数据连接已打开,正在开始传输。
?? 150 文件状态正常,准备打开数据连接。
2xx - 肯定的完成答复
一项*作已经成功完成。客户端可以执行新命令。
?? 200 命令确定。
?? 202 未执行命令,站点上的命令过多。
?? 211 系统状态,或系统帮助答复。
?? 212 目录状态。
?? 213 文件状态。
?? 214 帮助消息。
?? 215 NAME 系统类型,其中,NAME 是 Assigned Numbers 文档中所列的正式系统名称。
?? 220 服务就绪,可以执行新用户的请求。
?? 221 服务关闭控制连接。如果适当,请注销。
?? 225 数据连接打开,没有进行中的传输。
?? 226 关闭数据连接。请求的文件*作已成功(例如,传输文件或放弃文件)。
?? 227 进入被动模式 (h1,h2,h3,h4,p1,p2)。
?? 230 用户已登录,继续进行。
?? 250 请求的文件*作正确,已完成。
?? 257 已创建“PATHNAME”。
3xx - 肯定的中间答复
该命令已成功,但服务器需要更多来自客户端的信息以完成对请求的处理。
?? 331 用户名正确,需要密码。
?? 332 需要登录帐户。
?? 350 请求的文件*作正在等待进一步的信息。
4xx - 瞬态否定的完成答复
该命令不成功,但错误是暂时的。如果客户端重试命令,可能会执行成功。
?? 421 服务不可用,正在关闭控制连接。如果服务确定它必须关闭,将向任何命令发送这一应答。
?? 425 无法打开数据连接。
?? 426 Connection closed; transfer aborted.
?? 450 未执行请求的文件*作。文件不可用(例如,文件繁忙)。
?? 451 请求的*作异常终止:正在处理本地错误。
?? 452 未执行请求的*作。系统存储空间不够。
5xx - 永久性否定的完成答复
该命令不成功,错误是永久性的。如果客户端重试命令,将再次出现同样的错误。
?? 500 语法错误,命令无法识别。这可能包括诸如命令行太长之类的错误。
?? 501 在参数中有语法错误。
?? 502 未执行命令。
?? 503 错误的命令序列。
?? 504 未执行该参数的命令。
?? 530 未登录。
?? 532 存储文件需要帐户。
?? 550 未执行请求的*作。文件不可用(例如,未找到文件,没有访问权限)。
?? 551 请求的*作异常终止:未知的页面类型。
?? 552 请求的文件*作异常终止:超出存储分配(对于当前目录或数据集)。
?? 553 未执行请求的*作。不允许的文件名。
常见的 FTP 状态代码及其原因
?? 150 - FTP 使用两个端口:21 用于发送命令,20 用于发送数据。状态代码 150 表示服务器准备在端口 20 上打开新连接,发送一些数据。
?? 226 - 命令在端口 20 上打开数据连接以执行*作,如传输文件。该*作成功完成,数据连接已关闭。
?? 230 - 客户端发送正确的密码后,显示该状态代码。它表示用户已成功登录。
?? 331 - 客户端发送用户名后,显示该状态代码。无论所提供的用户名是否为系统中的有效帐户,都将显示该状态代码。
?? 426 - 命令打开数据连接以执行*作,但该*作已被取消,数据连接已关闭。
?? 530 - 该状态代码表示用户无法登录,因为用户名和密码组合无效。如果使用某个用户帐户登录,可能键入错误的用户名或密码,也可能选择只允许匿名访问。如果使用匿名帐户登录,IIS 的配置可能拒绝匿名访问。
?? 550 - 命令未被执行,因为指定的文件不可用。例如,要 GET 的文件并不存在,或试图将文件 PUT 到您没有写入权限的目录
ftp返回码
FTP连接过程中,提示530 Login authentication failed错误是因为填写错了ftp密码。 解决方法: 登陆客户中心,客户中心 > 会员中心 > 产品与服务(不同的主机提供商可能不同仅供参考)进入购买的那个套餐,下面有个登陆详情然后输入新密码就行了,这样ftp就可以用了。
FTP登录常见提示错误: 1.connected. waiting for response. 220 serv-u ftp server v4.0 for winsock ready... user anonymous 530 sorry, no anonymous access allowed. quit 不允许匿名登录 2.connected. waiting for response. 220 serv-u ftp server v4.0 for winsock ready... user test 331 user name okay, need password. pass xxxxxx 530 not logged in. quit 一般是密码输入错误时出现的信息。 3.connecting to xxx.xxx.xxx.xxx, port 21 error: connection timed out 这个表明对方未开机,也可能是对方不在能访问的范围内。可能小区的服务器检修中。 4.connecting to xxx.xxx.xxx.xxx port 21 error: connection refused 这个一般表明对方已开机,但未开启ftp服务(没有开serv-u),也可能为对方不提供在这个端口上的服务 5.connecting to xxx.xxx.xxx.xxx, port 21 connected. waiting for response. disconnected from server. connection attempt failed. waiting for retry... 出现极有可能是重试时间定的太短被服务器封了。 6.connecting to xxx.xxx.xxx.xxx, port 21 connected. waiting for response. user xxx 331 user name okay, need password pass xxxxxx 530 not logged in, unauthorized ip address. quit 没有登记ip,或者登记的ip和现在的不一样,重新登记即可。 7.227 entering passive mode (218,3,87,224,10,232) retr hfdx-tsoaf.sub.rar 550 sorry, insufficient credit for download - upload first. 传输已失败.传输队列已完成但流量不够了,重新购买。
这些状态代码指示一项*作已经成功开始,但客户端希望在继续*作新命令前得到另一个答复。
110 重新启动标记答复。 120 服务已就绪,在 nnn 分钟后开始。 125 数据连接已打开,正在开始传输。 150 文件状态正常,准备打开数据连接。
2xx - 肯定的完成答复 一项*作已经成功完成。客户端可以执行新命令。
200 命令确定。 202 未执行命令,站点上的命令过多。 211 系统状态,或系统帮助答复。 212 目录状态。 213 文件状态。 214 帮助消息。 215 NAME 系统类型,其中,NAME 是 Assigned Numbers 文档中所列的正式系统名称。
220 服务就绪,可以执行新用户的请求。 221 服务关闭控制连接。如果适当,请注销。 225 数据连接打开,没有进行中的传输。 226 关闭数据连接。请求的文件*作已成功(例如,传输文件或放弃文件)。 227 进入被动模式 (h1,h2,h3,h4,p1,p2)。 230 用户已登录,继续进行。 250 请求的文件*作正确,已完成。 257 已创建“PATHNAME”。
3xx - 肯定的中间答复 该命令已成功,但服务器需要更多来自客户端的信息以完成对请求的处理。
331 用户名正确,需要密码。 332 需要登录帐户。 350 请求的文件*作正在等待进一步的信息。
4xx - 瞬态否定的完成答复 该命令不成功,但错误是暂时的。如果客户端重试命令,可能会执行成功。
421 服务不可用,正在关闭控制连接。如果服务确定它必须关闭,将向任何命令发送这一应答。 425 无法打开数据连接。 426 Connection closed; transfer aborted. 450 未执行请求的文件*作。文件不可用(例如,文件繁忙)。
451 请求的*作异常终止:正在处理本地错误。 452 未执行请求的*作。系统存储空间不够。
5xx - 永久性否定的完成答复 该命令不成功,错误是永久性的。如果客户端重试命令,将再次出现同样的错误。
500 语法错误,命令无法识别。这可能包括诸如命令行太长之类的错误。 501 在参数中有语法错误。 502 未执行命令。 503 错误的命令序列。 504 未执行该参数的命令。 530 未登录。
532 存储文件需要帐户。 550 未执行请求的*作。文件不可用(例如,未找到文件,没有访问权限)。 551 请求的*作异常终止:未知的页面类型。 552 请求的文件*作异常终止:超出存储分配(对于当前目录或数据集)。
553 未执行请求的*作。不允许的文件名。
常见的 FTP 状态代码及其原因
150 - FTP 使用两个端口:21 用于发送命令,20 用于发送数据。状态代码 150 表示服务器准备在端口 20 上打开新连接,发送一些数据。
226 - 命令在端口 20 上打开数据连接以执行*作,如传输文件。该*作成功完成,数据连接已关闭。
230 - 客户端发送正确的密码后,显示该状态代码。它表示用户已成功登录。
331 - 客户端发送用户名后,显示该状态代码。无论所提供的用户名是否为系统中的有效帐户,都将显示该状态代码。
426 - 命令打开数据连接以执行*作,但该*作已被取消,数据连接已关闭。
530 - 该状态代码表示用户无法登录,因为用户名和密码组合无效。如果使用某个用户帐户登录,可能键入错误的用户名或密码,也可能选择只允许匿名访问。如果使用匿名帐户登录,IIS 的配置可能拒绝匿名访问。
550 - 命令未被执行,因为指定的文件不可用。例如,要 GET 的文件并不存在,或试图将文件 PUT 到您没有写入权限的目录
今天关于从Unix脚本检查ftp返回码和ftp命令返回值的讲解已经结束,谢谢您的阅读,如果想了解更多关于c# – 检查FTP服务器上是否存在目录、FTP协议的命令与返回码、FTP返回值代表含义、ftp返回码的相关知识,请在本站搜索。
本文标签: