Hello,

On Mon, Sep 30, 2013 at 04:42:29AM -0700, Michel Albert wrote:
> Hi,
> 
> ``socket.gethostbyname`` sends the DNS resolution query to the DNS server 
> specified by the OS. Is there an easy way to send a query to a *different* 
> server?
> 
> I see that twisted.names allows you to do this, but, having all of twisted as 
> dependency to my project when all I need to do is a simple DNS query seems a 
> bit extreme. I also found pydns, but that looks fairly outdated and 
> unmaintained.
> 
> Is there not an actively maintained lightweight solution? If not, I will go 
> with twisted.
> 

there is a dns modul for Python (I don't know is it part of
standard Python library or not), on most Linux distribution you
can find it, eg. in Debian it's called python-dnspython.

It can handle different nameserver, than OS knows - here is a
sample code:


import dns.resolver

r = dns.resolver.Resolver()
r.namerservers =  ['127.0.0.1']
# or any other IP, in my case I'm using PDNS, which have two
# parts: a recursor and a resolver; recursor allows requests only
# on localhost

mxservers = r.query("python.org", 'MX').response




hth,


a.

 
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to