code: 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)
docs: 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.