“修复url编码错误”

liangliangyy 9 years ago
parent 840878574d
commit eb8e63a3d4

@ -132,3 +132,10 @@ def send_email(subject, html_content, tomail):
pass
_thread.start_new_thread(send_comment_email, (msg,))
def parse_dict_to_url(dict):
from urllib.parse import quote
url = '&'.join(['{}={}'.format(quote(k, safe='/'), quote(v, safe='/'))
for k, v in dict.items()])
return url

@ -19,7 +19,7 @@ from django.conf import settings
import requests
import json
import urllib.parse
from DjangoBlog.utils import logger
from DjangoBlog.utils import logger, parse_dict_to_url
class BaseOauthManager(metaclass=ABCMeta):
@ -87,7 +87,7 @@ class WBOauthManager(BaseOauthManager):
return url
def get_access_token_by_code(self, code):
print(code)
params = {
'client_id': self.client_id,
'client_secret': self.client_secret,
@ -96,7 +96,7 @@ class WBOauthManager(BaseOauthManager):
'redirect_uri': self.callback_url
}
rsp = self.do_post(self.TOKEN_URL, params)
print(rsp)
# return rsp
obj = json.loads(rsp)
@ -119,7 +119,7 @@ class WBOauthManager(BaseOauthManager):
'access_token': self.access_token
}
rsp = self.do_get(self.API_URL, params)
print(rsp)
class GoogleOauthManager(BaseOauthManager):
@ -141,7 +141,8 @@ class GoogleOauthManager(BaseOauthManager):
'redirect_uri': self.callback_url,
'scope': 'openid email',
}
url = self.AUTH_URL + "?" + urllib.parse.urlencode(params, quote_via=urllib.parse.quote)
# url = self.AUTH_URL + "?" + urllib.parse.urlencode(params, quote_via=urllib.parse.quote)
url = self.AUTH_URL + "?" + urllib.parse.urlencode(params)
return url
def get_access_token_by_code(self, code):
@ -173,7 +174,7 @@ class GoogleOauthManager(BaseOauthManager):
}
rsp = self.do_get(self.API_URL, params)
try:
print(rsp)
datas = json.loads(rsp)
user = OAuthUser()
user.picture = datas['picture']
@ -207,7 +208,8 @@ class GitHubOauthManager(BaseOauthManager):
'redirect_uri': self.callback_url,
'scope': 'user'
}
url = self.AUTH_URL + "?" + urllib.parse.urlencode(params, quote_via=urllib.parse.quote)
# url = self.AUTH_URL + "?" + urllib.parse.urlencode(params, quote_via=urllib.parse.quote)
url = self.AUTH_URL + "?" + urllib.parse.urlencode(params)
return url
def get_access_token_by_code(self, code):
@ -220,7 +222,7 @@ class GitHubOauthManager(BaseOauthManager):
'redirect_uri': self.callback_url
}
rsp = self.do_post(self.TOKEN_URL, params)
print(rsp)
try:
from urllib import parse
r = parse.parse_qs(rsp)
@ -235,7 +237,7 @@ class GitHubOauthManager(BaseOauthManager):
'access_token': self.access_token
}
rsp = self.do_get(self.API_URL, params)
print(rsp)
try:
datas = json.loads(rsp)
user = OAuthUser()

Loading…
Cancel
Save