Make sure that url has fragment removed when using a proxy
authorJonathan Halcrow <jonathan.halcrow@gmail.com>
Sat, 27 Oct 2012 13:54:31 +0000 (09:54 -0400)
committerJonathan Halcrow <jonathan.halcrow@gmail.com>
Sat, 27 Oct 2012 13:54:31 +0000 (09:54 -0400)
requests/compat.py
requests/models.py

index 90f1aaef44b0d4129b922a6cd07e2819115b1465..aa62406eeab2dfd7605cf6a76587f259d410f84b 100644 (file)
@@ -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
index c19d3ccab7ef6b93c3fbf779107db7220a0831c0..a87a988b48da4dd2f66046244f16faa71db7dc33 100644 (file)
@@ -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: