Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 1dea609

Browse files
committed
fix for a bug reported by David (UnicodeDecodeError: url = url + '?' + query)
1 parent a64407d commit 1dea609

1 file changed

Lines changed: 19 additions & 15 deletions

File tree

lib/request/connect.py

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -87,22 +87,22 @@ def getPage(**kwargs):
8787

8888
# dirty hack because urllib2 just skips the other part of provided url
8989
# splitted with space char while urlencoding it in the later phase
90-
url = kwargs.get('url', conf.url).replace(" ", "%20")
91-
92-
get = kwargs.get('get', None)
93-
post = kwargs.get('post', None)
94-
method = kwargs.get('method', None)
95-
cookie = kwargs.get('cookie', None)
96-
ua = kwargs.get('ua', None)
97-
referer = kwargs.get('referer', None)
98-
direct = kwargs.get('direct', False)
99-
multipart = kwargs.get('multipart', False)
100-
silent = kwargs.get('silent', False)
101-
raise404 = kwargs.get('raise404', True)
102-
auxHeaders = kwargs.get('auxHeaders', None)
103-
response = kwargs.get('response', False)
90+
url = kwargs.get('url', conf.url).replace(" ", "%20")
91+
92+
get = kwargs.get('get', None)
93+
post = kwargs.get('post', None)
94+
method = kwargs.get('method', None)
95+
cookie = kwargs.get('cookie', None)
96+
ua = kwargs.get('ua', None)
97+
referer = kwargs.get('referer', None)
98+
direct = kwargs.get('direct', False)
99+
multipart = kwargs.get('multipart', False)
100+
silent = kwargs.get('silent', False)
101+
raise404 = kwargs.get('raise404', True)
102+
auxHeaders = kwargs.get('auxHeaders', None)
103+
response = kwargs.get('response', False)
104104
ignoreTimeout = kwargs.get('ignoreTimeout', False)
105-
refreshing = kwargs.get('refreshing', False)
105+
refreshing = kwargs.get('refreshing', False)
106106

107107
page = ""
108108
cookieStr = ""
@@ -113,6 +113,10 @@ def getPage(**kwargs):
113113
responseHeaders = None
114114
logHeaders = ""
115115

116+
# there are known issues when using url in unicode format
117+
# (e.g. UnicodeDecodeError: "url = url + '?' + query" in redirect case)
118+
url = unicodeencode(url)
119+
116120
try:
117121
if silent:
118122
socket.setdefaulttimeout(HTTP_SILENT_TIMEOUT)

0 commit comments

Comments
 (0)