socket.gaierror: [Errno 11003] сбой getaddrinfo - PullRequest
2 голосов
/ 14 апреля 2011
 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

1 Ответ

1 голос
/ 29 января 2013

В Windows socket.gethostbyname() вызывает API-вызов Winsock * 1002, а errno 11003 - WSANO_RECOVERY может быть вызвано тем, что переменная среды SYSTEMROOT не установлена.

Проверьте, не установлена ​​ли ОС.environ содержит SYSTEMROOT перед вызовом socket.gethostbyname, например:

import os
assert 'SYSTEMROOT' in os.environ
...