我需要编写一个程序来检索域名列表的IP地址。简单的示例可以在此处显示:
>>> import socket
>>> socket.gethostbyname('google.com')
'172.217.160.14'
>>> socket.close()
尝试关闭套接字后,出现此错误:
回溯(最近一次通话最后一次):文件“”,第1行,在 AttributeError:模块“套接字”没有属性“关闭”
如何关闭此插座?我需要关闭它,因为我的实际程序存在循环,需要在列表中的每个域名中获取其IP,因此我需要在每次迭代中为新主机关闭套接字。
你能告诉我是什么问题吗?
答案 0 :(得分:1)
您既不在此处创建套接字,也不会将其绑定到任何端口。 socket.gethostbyname('google.com')
的作用是将主机名转换为IPv4地址格式。方法.close()
在打开的连接中有效。
答案 1 :(得分:1)
您的代码中的socket
指的是socket模块,该模块没有close
功能。 Python 3.7中添加了新的模块级别close函数,但是它需要套接字描述符作为参数。如果我做对了,您想调用socket object的close方法,而不是模块。就您而言,您无需关闭任何连接。