Advertisement
Guest User

Untitled

a guest
Mar 20th, 2019
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.33 KB | None | 0 0
  1. import socket
  2. from urllib.parse import urlparse, parse_qs
  3. import json
  4. import sys
  5. import webbrowser
  6.  
  7. import requests
  8.  
  9. server_url = "http://localhost:8001"
  10. server_url = "https://devel.blenderkit.com"
  11. client_id = "IdFRwa3SGA8eMpzhRVFMg5Ts8sPK93xBjif93x0F"
  12. client_secret = "vwk8bKYQvW39FS1WenUTefV4OZ3qHkeMCBpNB4pSmFpTj5XPWNWAcMYYFYKLormHQ9jXCAa2DpPBez3r7mzszmyOYFzLVUAgcGIrOiSAYq1ldmvSMzxzwkqpZUMFRS9j"
  13.  
  14. webbrowser.open_new(
  15.     "%s/o/authorize?client_id=%s&state=random_state_string&response_type=code" % (server_url, client_id)
  16. )
  17.  
  18.  
  19. # Create a TCP/IP socket
  20. sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  21.  
  22. server_address = ('localhost', 1234)
  23. print('starting up on %s port %s' % server_address)
  24. sock.bind(server_address)
  25. sock.listen(1)
  26.  
  27. while True:
  28.     # Wait for a connection
  29.     print('waiting for a connection')
  30.     connection, client_address = sock.accept()
  31.  
  32.     try:
  33.         print('connection from ', client_address)
  34.  
  35.         # Receive the data in small chunks and retransmit it
  36.         data = connection.recv(150)
  37.         print('received "%s"' % data)
  38.         if data:
  39.             url = data.split(b" ")[1]
  40.             print("url: ", url)
  41.             break
  42.         else:
  43.             print('no more data from ', client_address)
  44.             break
  45.  
  46.     finally:
  47.         # Clean up the connection
  48.         connection.close()
  49.  
  50.  
  51. qs = parse_qs(urlparse(url).query)
  52. print(qs)
  53. code = qs[b'code'][0]
  54. print(code)
  55.  
  56. r = requests.post(
  57.     '%s/o/token/' % server_url,
  58.     data={
  59.         "grant_type": "authorization_code",
  60.         "code": code,
  61.         "state": "random_state_string",
  62.         "client_id": client_id,
  63.         "client_secret": client_secret,
  64.         "scopes": "read write",
  65.     }
  66. )
  67. print(r.status_code)
  68. if r.status_code != 200:
  69.     sys.exit(0)
  70. print(r.content)
  71. refresh_token = json.loads(r.content)['refresh_token']
  72. print(refresh_token)
  73.  
  74. r = requests.post(
  75.     '%s/o/token/' % server_url,
  76.     data={
  77.         "grant_type": "refresh_token",
  78.         "refresh_token": refresh_token,
  79.         "state": "random_state_string",
  80.         "client_id": client_id,
  81.         "client_secret": client_secret,
  82.         "scopes": "read write",
  83.     }
  84. )
  85.  
  86. print(r.status_code)
  87. print(r.content)
  88. refresh_token = json.loads(r.content)['refresh_token']
  89. print(refresh_token)
  90. if r.status_code != 200:
  91.     sys.exit(0)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement