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 上,socket.gethostbyname() 调用 getaddrinfo() Winsock API 调用,错误号 11003 - WSANO_RECOVERY可能是没有设置SYSTEMROOT环境变量造成的。
在调用 socket.gethostbyname 之前检查 os.environ 是否包含 SYSTEMROOT,例如:
import os
assert 'SYSTEMROOT' in os.environ
