#!/usr/bin/env python3.5
from pprint import pprint as pp
import requests
import oauth.oauth as oauth
import uuid
import httplib2
site = 'http://127.0.0.1:5555/MAAS/api/2.0'
uri = '/nodes/?op=list'
proxies = dict(http='socks5://127.0.0.1:8080',
https='socks5://127.0.0.1:8080')
api_key = 'SeAtrCxxxxxxxX:UQxxxxxxxxnAH8kuK:v3vcf6rxxxxxxx9zvG7ymaQBt'
(consumer_key, key, secret) = api_key.split(':')
def perform_API_request(site, uri, method, key, secret, consumer_key):
resource_tok_string = "oauth_token_secret=%s&oauth_token=%s" % (
secret, key)
resource_token = oauth.OAuthToken.from_string(resource_tok_string)
consumer_token = oauth.OAuthConsumer(consumer_key, "")
pp(resource_token)
pp(consumer_token)
oauth_request = oauth.OAuthRequest.from_consumer_and_token(
consumer_token, token=resource_token, http_url=site,
parameters={'oauth_nonce': uuid.uuid4().hex})
oauth_request.sign_request(
oauth.OAuthSignatureMethod_PLAINTEXT(), consumer_token,
resource_token)
headers = oauth_request.to_header()
url = "%s%s" % (site, uri)
http = httplib2.Http()
return http.request(url, method, body=None, headers=headers)
response = perform_API_request(site, uri, 'GET', key, secret, consumer_key)
pp(response)