'Establish tunnel connection early, because otherwise httplib
would improperly set Host: header to proxy\'s IP:port.'

def _prepare_proxy(self, conn):

    try:
        set_tunnel = conn.set_tunnel
    except AttributeError:
        set_tunnel = conn._set_tunnel
    if ((sys.version_info <= (2, 6, 4)) and (not self.proxy_headers)):
        set_tunnel(self.host, self.port)
    else:
        set_tunnel(self.host, self.port, self.proxy_headers)
    conn.connect()
