code: def html(self, url, timeout=None):
          
          response = self.get_response(url, timeout=timeout)
          if response:
              domain = self.get_domain(url)
              if domain in self.domain_encoding_map:  # domain have been visited
                  try:  # apply extreme decoding
                      html = self.decoder.decode(response.content,
                                                 self.domain_encoding_map[domain])[0]
                      return html
                  except Exception as e:
                      print(e)
                      return None
              else:  # never visit this domain
                  try:
                      html, encoding = self.decoder.autodecode(response.content)
                      # save chardet analysis result
                      self.domain_encoding_map[domain] = encoding
                      return html
                  except Exception as e:
                      print(e)
                      return None
          else:
              return None
docs: High level method to get http request response in text.
          smartly handle the encoding problem.