我想创建一个程序,它将在本地机器上打开一个端口,并让其他人通过netcat连接到它。我目前的代码是。Python套接字错误TypeError:需要类似字节的对象,而不是带发送功能的'str'
s = socket.socket()
host = '127.0.0.1'
port = 12345
s.bind((host, port))
s.listen(5)
while True:
c, addr = s.accept()
print('Got connection from', addr)
c.send('Thank you for connecting')
c.close()
我是新来的Python和套接字。但是,当我运行这段代码将允许我发送带有命令的netcat连接:
nc 127.0.0.1 12345
但后来在我的Python脚本,我得到了c.send错误:
TypeError: a bytes-like object is required, not 'str'
我我基本上只是试图打开一个端口,允许netcat连接,并在该机器上有一个完整的shell。
你试过编码了吗? –
不,我可以注释掉c.send,它会运行。你认为这个字符串需要被编码吗? – sqlsqlsql