'Get a :class:`ConnectionPool` based on the host, port, and scheme.
If ``port`` isn\'t given, it will be derived from the ``scheme`` using
``urllib3.connectionpool.port_by_scheme``. If ``pool_kwargs`` is
provided, it is merged with the instance\'s ``connection_pool_kw``
variable and used to create the new connection pool, if one is
needed.'

def connection_from_host(self, host, port=None, scheme='http', pool_kwargs=None):

    if (not host):
        raise LocationValueError('No    host    specified.')
    request_context = self._merge_pool_kwargs(pool_kwargs)
    request_context['scheme'] = (scheme or 'http')
    if (not port):
        port = port_by_scheme.get(request_context['scheme'].lower(), 80)
    request_context['port'] = port
    request_context['host'] = host
    return self.connection_from_context(request_context)
