如何解决socket.gaierror:[Errno 11003] getaddrinfo失败
| if data.find(\'!scan\') != -1:
nick = data.split(\'!\')[ 0 ].replace(\':\',\'\')
targetip = socket.gethostbyname(str(arg))
sck.send(\'PRIVMSG \' + chan + \" :\" \' scanning host\' + targetip + \'\\r\\n\')
for i in range(20,1025):
s = socket(AF_INET,SOCK_STREAM)
result = s.connect_ex((targetip,i))
if (result == 0) :
s.send(\'PRIVMSG \' + chan + \" :\" \'port %d: OPEN\' % (i,) + \'\\r\\n\')
s.close()
我收到此错误:
targetip = socket.gethostbyname(str(arg))
socket.gaierror: [Errno 11003] getaddrinfo failed
解决方法
在Windows上,“ 2”会调用“ 3” Winsock API调用,而errno 11003-WSANO_RECOVERY可能是由于未设置SYSTEMROOT环境变量引起的。
在调用socket.gethostbyname之前检查os.environ是否包含SYSTEMROOT,例如:
import os
assert \'SYSTEMROOT\' in os.environ
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。