1
Как мы делаем запрос DNS, прежде всего MX-запрос, в Python, не устанавливая какие-либо сторонние библиотеки.Как мы выполняем DNS-запрос в Python
Я хочу запросить запись MX о домене, однако кажется, что socket.getaddrinfo
может запрашивать только запись A.
Я попытался это:
python -c "import socket; print socket.getaddrinfo('baidu.com', 25, socket.AF_INET, socket.SOCK_DGRAM)"
Печатается
[(2, 2, 17, '', ('220.181.57.217', 25)), (2, 2, 17, '', ('123.125.114.144', 25)), (2, 2, 17, '', ('180.149.132.47', 25))]
Однако, мы не можем телнет его telnet 220.181.57.217 25
или telnet 123.125.114.144 25
или telnet 180.149.132.47 25
.
Вы можете показать, что Вы пробовали до сих пор. . :) .. Если бы не пробовал ничего, а затем попробовал посмотреть на эту конкретную ссылку http://www.dnspython.org/examples.html. Я надеюсь, что это поможет – csharpcoder
@csharpcode, я обновил вопрос. Я искал эту dnspython lib. Тем не менее, я думаю, возможно, у python есть некоторые функции dns внутри него, даже это плохо. – andy
Ни в коем случае, насколько мне известно. Разрешение DNS довольно сложно, и вам нужен специализированный пакет, например dnspython. 'socket.getaddrinfo' на самом деле является оболочкой libc' getaddrinfo', поэтому вы не выполняете разрешение DNS, а получаете доступ к стеку решения OS (который может содержать разрешение DNS, но не только). –