from urllib.parse import urlencode from urllib.request import urlopen from django.conf import settings import json redirect_uri = 'http://localhost:8000/t2' oauth_domain = 'oauth.vk.com' oauth_domain = 'vk-oauth-proxy.xtrafrancyz.net' api_domain = 'api.vk.com' api_domain = 'vk-api-proxy.xtrafrancyz.net' def t1(request): return redirect('http://{}/authorize?{}'.format('oauth.vk.com', urlencode({ 'client_id': settings.SOCIAL_AUTH_VK_OAUTH2_KEY, 'redirect_uri': redirect_uri, }))) def t2(request): url = 'https://{}/access_token?{}'.format(oauth_domain, urlencode({ 'client_id': settings.SOCIAL_AUTH_VK_OAUTH2_KEY, 'client_secret': settings.SOCIAL_AUTH_VK_OAUTH2_SECRET, 'redirect_uri': redirect_uri, 'code': request.GET['code'], })) r = urlopen(url) access_token = json.loads(r.read())['access_token'] url = 'https://{}/method/users.get?{}'.format(api_domain, urlencode({ 'v': '5.73', 'access_token': access_token, })) r = urlopen(url) return HttpResponse(r.read()) urlpatterns = [ url(r'^t1$', t1), url(r'^t2$', t2), ]