- try:
- r = requests.Session().get(
- url, timeout=self.timeout, allow_redirects=False)
- except requests.RequestException as e:
- error = str(e)
- self.log(' Error: %s' % error)
- if self.proxy:
- error = None
- self.log(' Retrying with the proxy...')
- try:
- r = requests.get(
- url, timeout=self.timeout, allow_redirects=False,
- proxies={'http': self.proxy, 'https': self.proxy})
- except requests.RequestException as e:
- error = str(e)
- self.log(' Proxy error: %s' % error)
+ split_results = urlsplit(url)
+ url_host = split_results.hostname
+
+ if url_host in self.proxy_error:
+ return 'see prev. error', None, None, None, None
+
+ if accept_charset and bookmark.charset:
+ headers = request_headers.copy()
+ headers['Accept-Charset'] = bookmark.charset
+ else:
+ headers = request_headers
+
+ if url_host in self.proxy_ok:
+ self.log(' Immediately trying with the proxy')
+ error, r = request_get(url, headers, self.timeout, self.proxy)
+ else:
+ error, r = request_get(url, headers, self.timeout, None)