ローカルマシン上でポートを開き、他の人がnetcat経由で接続できるようにするプログラムを作成しようとしています。私の現在のコードはです。PythonソケットエラーTypeError:send関数で '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とソケットが初めてです。
nc 127.0.0.1 12345
しかし、その後、私のPythonスクリプトに私はc.sendのエラーを取得:
TypeError: a bytes-like object is required, not 'str'
私を、私はこのコードを実行するときしかし、それは私がコマンドでnetcatを接続を送信することができます基本的にはポートをオープンしようとしています.netcatが接続し、そのマシンにフル・シェルを持つことができます。
まだエンコードを試しましたか? –
いいえ、私はc.sendをコメントアウトして実行できます。文字列をコード化する必要があると思いますか? – sqlsqlsql