Программа печатает значения памяти вместо фактических значений - PullRequest
0 голосов
/ 07 августа 2020

Здесь вроде как в пень для мозга. Я использовал пакет nslookup и хотел получить IP-адрес домена (в данном случае Google). Когда я запускаю приведенный ниже код, я получаю следующее: " "вместо IP-адреса.

Код:

import nslookup

theLook = nslookup.Nslookup()

print(theLook.dns_lookup(domain="google.com"))

Да, я знаю, что это, вероятно, глупый вопрос, но клянусь, я искал ответ и не смог его найти в моем случае. Я также думаю, что мог решить эту проблему раньше, но не могу вспомнить, как это сделать. Спасибо за любые ответы.

Ответы [ 2 ]

3 голосов
/ 07 августа 2020

Вы просите напечатать объект, который вызывает внутреннюю __repr__ функции Nslookup (). Ответ находится в атрибуте .answer, поэтому:

print(theLook.dns_lookup(domain="google.com").answer)

должно делать то, что вам нужно.

В документации также есть более подробная информация: https://pypi.org/project/nslookup/

Возвращает объект, содержащий два массива:

response_full: полная строка (строки) ответа DNS

ответ: проанализированный ответ DNS (список IP-адресов или строка SOA)

0 голосов
/ 07 августа 2020

, но вы также можете получить доступ к dict, чтобы получить более подробную информацию

import nslookup

theLook = nslookup.Nslookup()

for x in theLook.__dict__:
    for m in theLook.__dict__[x]:
         print(m)

, и вы получите следующий результат

google.com. 151 IN A 74.125.24.102
google.com. 151 IN A 74.125.24.101
google.com. 151 IN A 74.125.24.139
google.com. 151 IN A 74.125.24.138
google.com. 151 IN A 74.125.24.100
google.com. 151 IN A 74.125.24.113
74.125.24.102
74.125.24.101
74.125.24.139
74.125.24.138
74.125.24.100
74.125.24.113
...