Use urljoin instead of manual concatenation.

This commit is contained in:
Jérémy Bethmont
2011-08-09 15:41:59 +02:00
parent aa0f78b740
commit 7b79cea738
+2 -3
View File
@@ -12,7 +12,7 @@ import socket
import zlib
from urllib2 import HTTPError
from urlparse import urlparse, urlunparse
from urlparse import urlparse, urlunparse, urljoin
from datetime import datetime
from .config import settings
@@ -198,8 +198,7 @@ class Request(object):
# Facilitate non-RFC2616-compliant 'location' headers
# (e.g. '/path/to/resource' instead of 'http://domain.tld/path/to/resource')
if not urlparse(url).netloc:
parent_url_components = urlparse(self.url)
url = '%s://%s/%s' % (parent_url_components.scheme, parent_url_components.netloc, urllib.quote(urllib.unquote(url)))
url = urljoin(r.url, urllib.quote(urllib.unquote(url)))
# http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.4
if r.status_code is 303: