diff --git a/lib/request/connect.py b/lib/request/connect.py index 82e7290f98b..e2e7d2a189a 100644 --- a/lib/request/connect.py +++ b/lib/request/connect.py @@ -332,7 +332,9 @@ def getPage(**kwargs): if HTTP_HEADER.ACCEPT not in headers: headers[HTTP_HEADER.ACCEPT] = HTTP_ACCEPT_HEADER_VALUE - headers[HTTP_HEADER.ACCEPT_ENCODING] = HTTP_ACCEPT_ENCODING_HEADER_VALUE if kb.pageCompress else "identity" + if HTTP_HEADER.ACCEPT_ENCODING not in headers: + headers[HTTP_HEADER.ACCEPT_ENCODING] = HTTP_ACCEPT_ENCODING_HEADER_VALUE if kb.pageCompress else "identity" + headers[HTTP_HEADER.HOST] = host or getHostHeader(url) if post is not None and HTTP_HEADER.CONTENT_TYPE not in headers: diff --git a/lib/request/httpshandler.py b/lib/request/httpshandler.py index aa24eb474bd..7ea178160c8 100644 --- a/lib/request/httpshandler.py +++ b/lib/request/httpshandler.py @@ -53,7 +53,8 @@ def create_sock(): break else: sock.close() - except (ssl.SSLError, socket.error), errMsg: + except (ssl.SSLError, socket.error, httplib.BadStatusLine), errMsg: + self._tunnel_host = None logger.debug("SSL connection error occurred ('%s')" % errMsg) if not success: