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
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
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
# 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: