making socket.getaddrinfo use cached dns
widebandwidth at gmail.com
Fri Jul 8 10:40:34 EDT 2011
my /etc/resolv.conf says:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by
> # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
> nameserver 127.0.0.1
> search Dynex
But getaddrinfo still takes a lot of time for repeated queries. After
installing BIND9 and starting it, getaddrinfo is almost instantaneous for
*Chris Angelico* rosuav at gmail.com
On Fri, Jul 8, 2011 at 4:18 AM, high bandwidth <widebandwidth at
>* I use cached dns lookups with pdnsd on my ubuntu machine to speed up web*>* access as regular lookups can take 15-30 seconds. However, python's*>* mechanize and urllib etc use socket.getaddrinfo, which seems not to be using*>* dns cacheing or taking a long time because of ipv6 lookups. In either case,*>* I subsequent access to the same site to be fast and not require lengthy*>* calls to getaddrinfo. How can I get python to correctly use cached dns*>* lookups and ipv4 only (at least in those cases where it is appropriate).*
One solution would be to do your own DNS lookups and then pass urllib
an IP address. Is pdnsd set up to be your computer's primary resolver?
(Is /etc/resolv.conf pointing to localhost?) If not, that might help.
I've generally done my DNS caching using BIND, so I can't help with
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Python-list