Add a local DNS cache in browser

Should solve BNP DNS errors
This commit is contained in:
Florent 2013-07-31 18:21:03 +02:00
commit b058ef785e

View file

@ -738,6 +738,20 @@ ssl.wrap_socketold = ssl.wrap_socket
ssl.wrap_socket = mywrap_socket
cacheDNS = {}
def my_getaddrinfo(*args):
try:
return cacheDNS[args]
except KeyError:
res = socket.getaddrinfoold(*args)
cacheDNS[args] = res
return res
socket.getaddrinfoold = socket.getaddrinfo
socket.getaddrinfo = my_getaddrinfo
class HTTPSConnection2(httplib.HTTPSConnection):
_HOSTS = {}
_PROTOCOLS = [ssl.PROTOCOL_TLSv1, ssl.PROTOCOL_SSLv3]