Я полный новичок, когда дело доходит до Python и программирования в целом. Последние несколько недель я работал над небольшим веб-приложением, пытаясь улучшить свои навыки написания кода. Несколько дней назад мой ноутбук был украден, поэтому я вышел и купил новый MacBook Pro. Слава Богу, у меня все было под контролем подрывной деятельности. Теперь проблема в том, что на моей новой машине запущенный скрипт перестал работать, и я понятия не имею, почему.
Это действительно единственная часть того, что я писал, которую я заимствовал для существующих сценариев. Это из широко доступного скрипта whois.py, и я лишь немного изменил его следующим образом (см. Ниже). На моей старой системе он работал нормально (работает на Ubuntu), но теперь вызывается socket.error. Я полностью потерян на этом, и был бы очень признателен за любую помощь. Спасибо!
def is_available(domainname, whoisserver="whois.verisign-grs.com", cache=0):
if whoisserver is None:
whoisserver = "whois.networksolutions.com"
s = None
while s == None:
try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setblocking(0)
try:
s.connect((whoisserver, 43))
except socket.error, (ecode, reason):
if ecode in (115, 150): pass
else:
raise socket.error, (ecode, reason)
ret = select.select([s], [s], [], 30)
if len(ret[1])== 0 and len(ret[0]) == 0:
s.close()
raise TimedOut, "on connect "
s.setblocking(1)
except socket.error, (ecode, reason):
print ecode, reason
time.sleep(1)
s = None
s.send("%s \n\n" % domainname)
page = ""
while 1:
data = s.recv(8196)
if not data: break
page = page + data
s.close()