【发布时间】:2022-07-07 23:28:44
【问题描述】:
我遇到了 python 错误,但我不知道如何修复它。这是我收到的错误消息:
错误:TypeError:需要一个类似字节的对象,而不是'str'
这是我的代码:
import socket
def retBanner(ip,port):
try:
socket.setdefaulttimeout(2)
s = socket.socket()
s.connect((ip,port))
banner = s.recv(1024)
return banner
except:
return
def main():
ip = input("[*] Enter Target IP: ")
for port in range(1,100):
banner = retBanner(ip,port)
if banner:
print("[+]" + ip + "/" + str(port) + " : " + banner.strip('/n'))
main()
请给我这个错误的解决方案
【问题讨论】:
-
请为您的问题添加完整的回溯。会有很大帮助的。
-
需要完整的错误和线路
-
但您的
bannervariable 可能是字节,而不是字符串。所以在你的打印电话中使用str(banner)。 -
@ex4 会导致反向错误。
-
@Sören 你是对的。应该将 str 转换为字节,而不是其他方式。写之前应该三思。
标签: python