![](/img/trans.png)
[英]Why Python 3.6.4 returns unexpected characters from to_bytes() method?
[英]Python initial read from socket returns some unexpected characters
我有一個Python套接字服務器,我想一次從一行中讀取文本命令,下面是代碼。 第一次運行時,line包含數據前的一些垃圾字符。 在隨后的readline調用中,我獲得了從telnet客戶端(Putty)中鍵入的確切數據。 為什么我會得到這些頭幾個明顯的垃圾字符。 例如,如果我輸入_return_
,則該行包含\\u18\\u01\\u03d\\r\\n
'
HOST = ''
PORT = 27001
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)
while True:
conn, address = s.accept()
print 'Got new CLI connection'
f = conn.makefile()
f.flush()
while True:
try:
self.PrintBanner(conn)
self.PrintMenu(conn)
line = f.readline()
if line.lower()[:1] == 'd':
self.MenuFieldRequestStatus(conn)
f.readline()
except:
s.close()
在這種情況下,您需要確定並使用“ RAW”模式。 否則,您的telnet客戶端將嘗試發現並與telnet服務器協商。 有關更多信息,請參見此鏈接:
您可能也可以在Telnet設置區域中將“ Telnet協商模式”切換為被動。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.