使用socket向tcp服务器发送用户名和密码

时间:2018-02-15 21:30:22

标签: python sockets

我需要向tcp服务器发送用户名,密码和消息,以获得我正在处理的代码质询所需的输出。我收到了这套指示:

import socket

clientsocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
clientsocket.connect(('localhost', 10000))
clientsocket.send('USER: aliensignal')

clientsocket.send('PASS: unlockserver')
clientsocket.send('SEND: moonbase')
clientsocket.send('END')
data = clientsocket.recv(4096)
print(data)

我编写了一个python代码,完全按照它所说的那样:

############# DARKSTORE KEY SERVER SPEC ############################

Set username then password. Once set send name then end connection

and you access key will be sent.


USER: Tell server you will be sending username

PASS: Tell server you will be sending password

SEND: Tell server you will be sending data. (Must be authenticated)

END: Tell server to end transaction. 

######################################################

但是我得到的输出结果是:

TypeError

无论我是否发送用户名和密码,它都会向我提供此输出。 有谁知道为什么会这样?

2 个答案:

答案 0 :(得分:2)

你也在做网络探索。

您是否尝试阅读野外手册?

答案 1 :(得分:1)

首先,在USER,PASS,SEND和END之后你不需要冒号。

此外,挑战告诉您每次发送后都需要接收数据。

最后,您需要单独发送关键字和数据

所以:

import socket

clientsocket = ...
clientsocket.connect(...)

clientsocket.send(‘USER’)
print(clientsocket.recv(1024))
clientsocket.send(‘aliensignal’)
print(clientsocket.recv(1024))
#etc...