diff --git a/requests/compat.py b/requests/compat.py index 90f1aaef..aa62406e 100644 --- a/requests/compat.py +++ b/requests/compat.py @@ -84,7 +84,7 @@ except ImportError: if is_py2: from urllib import quote, unquote, quote_plus, unquote_plus, urlencode - from urlparse import urlparse, urlunparse, urljoin, urlsplit + from urlparse import urlparse, urlunparse, urljoin, urlsplit, urldefrag from urllib2 import parse_http_list import cookielib from Cookie import Morsel @@ -104,7 +104,7 @@ if is_py2: elif is_py3: - from urllib.parse import urlparse, urlunparse, urljoin, urlsplit, urlencode, quote, unquote, quote_plus, unquote_plus + from urllib.parse import urlparse, urlunparse, urljoin, urlsplit, urlencode, quote, unquote, quote_plus, unquote_plus, urldefrag from urllib.request import parse_http_list from http import cookiejar as cookielib from http.cookies import Morsel diff --git a/requests/models.py b/requests/models.py index c19d3cca..a87a988b 100644 --- a/requests/models.py +++ b/requests/models.py @@ -34,7 +34,7 @@ from .utils import ( to_key_val_list, DEFAULT_CA_BUNDLE_PATH, parse_header_links, iter_slices) from .compat import ( cookielib, urlparse, urlunparse, urljoin, urlsplit, urlencode, str, bytes, - StringIO, is_py2, chardet, json, builtin_str) + StringIO, is_py2, chardet, json, builtin_str, urldefrag) REDIRECT_STATI = (codes.moved, codes.found, codes.other, codes.temporary_moved) CONTENT_CHUNK_SIZE = 10 * 1024 @@ -445,7 +445,9 @@ class Request(object): # Proxies use full URLs. if p.scheme in self.proxies: - return self.full_url + url_base, frag = urldefrag(self.full_url) + return url_base + path = p.path if not path: