Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #55067

Re: DNS query against a specific server.

Newsgroups comp.lang.python
Date 2013-09-30 05:45 -0700
References <634fa158-1d15-4a7e-ac0f-7a3f57f55cc7@googlegroups.com> <mailman.481.1380544612.18130.python-list@python.org>
Message-ID <e76f9cfa-c8ad-4eee-86e3-1f0a0bffe646@googlegroups.com> (permalink)
Subject Re: DNS query against a specific server.
From Michel Albert <exhuma@gmail.com>

Show all headers | View raw


On Monday, 30 September 2013 14:36:34 UTC+2, William Ray Wing  wrote:
> On Sep 30, 2013, at 7:42 AM, 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.
> 
> > 
> 
> > 
> 
> > Cheers,
> 
> > Mich.
> 
> > -- 
> 
> > https://mail.python.org/mailman/listinfo/python-list
> 
> 
> 
> It isn't pure python, but you would be pretty much guaranteed a maintained solution if you use the name server lookup in your OS.  Something like:
> 
> 
> 
> 	import subprocess
> 
> 	nsl_reslt = subprocess.Popen(['nslookup', '<insert name nere>' ],stderr = subprocess.PIPE, stdout = subprocess.PIPE).communicate()[0]
> 
> 
> 
> 
> 
> Hope this helps,
> 
> Bill

Hmm... I had this option in mind, but opening a subprocess for something as small as this seemed a bit error-prone. If something on the system changes, nslookup replaced by dig or nslookup output changes for example your application will bug out.

Granted, the chance of this happening is slim, but using a fixed-version dependency in your setup script gives you a much safer solution IMO.

I know I may be splitting hairs. Any of the mentioned solutions are fine. But I am curious to see if something like this is not yet implemented in a more standard way. I was surprised to see that ``gethostbyname`` does not take an optional parameter for this task.

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

DNS query against a specific server. Michel Albert <exhuma@gmail.com> - 2013-09-30 04:42 -0700
  Re: DNS query against a specific server. William Ray Wing <wrw@mac.com> - 2013-09-30 08:36 -0400
    Re: DNS query against a specific server. Michel Albert <exhuma@gmail.com> - 2013-09-30 05:45 -0700
      Re: DNS query against a specific server. Chris Angelico <rosuav@gmail.com> - 2013-09-30 22:56 +1000
      Re: DNS query against a specific server. "Gisle Vanem" <gvanem@yahoo.no> - 2013-09-30 15:35 +0200
  Re: DNS query against a specific server. Ervin Hegedüs <airween@gmail.com> - 2013-09-30 14:54 +0200
    Re: DNS query against a specific server. Michel Albert <exhuma@gmail.com> - 2013-09-30 06:04 -0700

csiph-web