Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python FTP服务器没有';不能对用户的要求作出反应_Python_Sockets_Networking_Ftp_Server - Fatal编程技术网

Python FTP服务器没有';不能对用户的要求作出反应

Python FTP服务器没有';不能对用户的要求作出反应,python,sockets,networking,ftp,server,Python,Sockets,Networking,Ftp,Server,我正在尝试用python 2.7制作一个基于终端的ftp客户端。 我设置了一个服务器(FileZilla服务器版本0.9.41 beta),并尝试执行一个与该服务器通信的脚本 My Client.py: import socket import time host = raw_input("ip ->") port = 21 s = socket.socket() s.connect((host, port)) print s.recv(8192) print s.recv(819

我正在尝试用python 2.7制作一个基于终端的ftp客户端。 我设置了一个服务器(FileZilla服务器版本0.9.41 beta),并尝试执行一个与该服务器通信的脚本

My Client.py:

import socket
import time

host = raw_input("ip ->")
port = 21

s = socket.socket()

s.connect((host, port))

print s.recv(8192)
print s.recv(8192)

s.send("USER user")
print "sent"
print s.recv(512)

s.close()
Client.py输出:

ip ->localhost
220-FileZilla Server version 0.9.41 beta

220-written by Tim Kosse (Tim.Kosse@gmx.de)
220 Please visit http://sourceforge.net/projects/file

sent
421 Login time exceeded. Closing control connection.
服务器输出:

(000010)02.01.2017 03:45:22 - (not logged in) (127.0.0.1)> Connected, sending welcome message...
(000010)02.01.2017 03:45:22 - (not logged in) (127.0.0.1)> 220-FileZilla Server version 0.9.41 beta
(000010)02.01.2017 03:45:22 - (not logged in) (127.0.0.1)> 220-written by Tim Kosse (Tim.Kosse@gmx.de)
(000010)02.01.2017 03:45:22 - (not logged in) (127.0.0.1)> 220 Please visit http://sourceforge.net/projects/filezilla/
(000010)02.01.2017 03:46:22 - (not logged in) (127.0.0.1)> 421 Login time exceeded. Closing control connection.
(000010)02.01.2017 03:46:22 - (not logged in) (127.0.0.1)> disconnected.
为什么服务器会忽略我的“用户”请求?
(我想在没有“socket”以外的其他库/模块帮助的情况下编写此代码,(我知道ftplib的存在,但我不想使用它:)

尝试在
用户用户

之后添加
\r\n
,非常感谢:)但它为什么工作?FTP服务器需要一个分隔符(即换行符)要知道命令何时结束。在您的情况下,
USER-USER
是命令,您需要以
\n
结束命令。@HansWuast:至于“为什么”:在实现协议时需要遵循一些标准,FTP是在中定义的,因此请在那里查找为什么需要行结尾。实际上,只添加
\n
是错误的,尽管它适用于许多服务器。命令的正确结尾不是
\n
,而是
\r\n