File tree Expand file tree Collapse file tree 1 file changed +10
-5
lines changed
Expand file tree Collapse file tree 1 file changed +10
-5
lines changed Original file line number Diff line number Diff line change 1212import re
1313import threading
1414import time
15- from urllib .parse import urlparse , parse_qs
15+ import urllib .parse
1616
1717import requests
1818import six
@@ -443,13 +443,18 @@ def _api_login(self):
443443 response = self .http .get (url )
444444
445445 if 'access_token' in response .url :
446- parsed_url = urlparse (response .url )
447- parsed_query = parse_qs (parsed_url .query )
446+ parsed_url = urllib . parse . urlparse (response .url )
447+ parsed_query = urllib . parse . parse_qs (parsed_url .query )
448448
449449 if 'authorize_url' in parsed_query :
450- parsed_url = urlparse ( parsed_query ['authorize_url' ][0 ])
450+ url = parsed_query ['authorize_url' ][0 ]
451451
452- parsed_query = parse_qs (parsed_url .fragment )
452+ if url .startswith ('https%3A' ): # double-encoded
453+ url = urllib .parse .unquote (url )
454+
455+ parsed_url = urllib .parse .urlparse (url )
456+
457+ parsed_query = urllib .parse .parse_qs (parsed_url .fragment )
453458
454459 token = {k : v [0 ] for k , v in parsed_query .items ()}
455460
You can’t perform that action at this time.
0 commit comments