diff --git a/scrapy/downloadermiddlewares/httpproxy.py b/scrapy/downloadermiddlewares/httpproxy.py index fe7bf0e04..e1a076b74 100644 --- a/scrapy/downloadermiddlewares/httpproxy.py +++ b/scrapy/downloadermiddlewares/httpproxy.py @@ -50,13 +50,14 @@ class HttpProxyMiddleware: creds, proxy_url = self._get_proxy(request.meta["proxy"], "") elif self.proxies: parsed = urlparse_cached(request) - scheme = parsed.scheme + _scheme = parsed.scheme if ( # 'no_proxy' is only supported by http schemes - scheme not in ("http", "https") + _scheme not in ("http", "https") or not proxy_bypass(parsed.hostname) - ) and scheme in self.proxies: + ) and _scheme in self.proxies: creds, proxy_url = self.proxies[scheme] + scheme = _scheme self._set_proxy_and_creds(request, proxy_url, creds, scheme)