尝试在python中创建whois,但无法运行

xe55xuns  于 2023-06-04  发布在  Python
关注(0)|答案(1)|浏览(116)

出于某种原因,输出返回如下所示,而不是它应该的样子:一个在另一个下面;有条理

**参考:**x1c 0d1x
咨询.py

from socket import socket, AF_INET, SOCK_STREAM
from sys import argv
import pyfiglet

ascii_banner = pyfiglet.figlet_format("WHOIS - Gustang")
print (ascii_banner)

host = 'whois.iana.org'
port = 43
conn = host, port
crlf = b'\r\n'
bufsiz = 2172

if len(argv) == 2:

        with socket(AF_INET, SOCK_STREAM) as s:
                s.connect(conn)
                ba = bytearray()
                ba.endswith(crlf)
                s.send(f'{argv[1]}\r\n'.encode())
                resp = s.recv(bufsiz)
                print (resp)
rggaifut

rggaifut1#

您的输出看起来是原始字节(注意前面的b)。recv返回原始字节:https://docs.python.org/3/library/socket.html#socket.socket.recv我的猜测是,将其转换为字符串print(resp.decode("utf-8"))将正确呈现“\r\n”。参见Convert bytes to a string

相关问题