my /etc/resolv.conf says: # Dynamic resolv.conf(5) file for glibc resolver(3) generated by > resolvconf(8) > # 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 repeated queries. Thanks! *Chris Angelico* rosuav at gmail.com <python-list%40python.org?Subject=Re%3A%20making%20socket.getaddrinfo%20use%20cached%20dns&In-Reply-To=%3CCAPTjJmpJaa-M4z7kWbHwROpA6CjxtYeYrQPusdpnPqgCUktWDA%40mail.gmail.com%3E> wrote: On Fri, Jul 8, 2011 at 4:18 AM, high bandwidth <widebandwidth at gmail.com <http://mail.python.org/mailman/listinfo/python-list>> wrote: >* 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 pdnsd specifically. ChrisA
-- http://mail.python.org/mailman/listinfo/python-list