import time
import urllib.parse
import hmac
import hashlib
from base64 import b64encode
import binascii
import requests
import base64
oauth_consumer_key = 'csszonasite'
oauth_nonce = str(int(time.time()*1000))
oauth_signature_method = 'HMAC-SHA1'
oauth_timestamp = str(int(time.time()))
oauth_version = '1.0'
oauth_token = 'gFBUa63v.6kOaF5Sve0auTiZYKddqHIVEv8kb7x2'
def create_parameter_string(oauth_consumer_key,oauth_nonce,oauth_signature_method,oauth_timestamp,oauth_version,oauth_token):
parameter_string = ''
parameter_string = parameter_string + '&oauth_consumer_key=' + oauth_consumer_key
parameter_string = parameter_string + '&oauth_nonce=' + oauth_nonce
parameter_string = parameter_string + '&oauth_signature_method=' + oauth_signature_method
parameter_string = parameter_string + '&oauth_timestamp=' + oauth_timestamp
parameter_string = parameter_string + '&oauth_version=' + oauth_version
parameter_string = parameter_string + '&oauth_token=' + oauth_token
return parameter_string
parameter_string = create_parameter_string(oauth_consumer_key,oauth_nonce,oauth_signature_method,oauth_timestamp,oauth_version,oauth_token)
encoded_parameter_string = urllib.parse.quote(parameter_string, safe='')
print('строка параметров: ', '\n', parameter_string)
url = 'http://css-zona.ru/uapi/publ'
encoded_base_string = 'GET' + '&' + urllib.parse.quote(url, safe='')
encoded_base_string = encoded_base_string + '&' + encoded_parameter_string
print('базовая строка: ', '\n', encoded_base_string)
signing_key = 'Здесь Consumer secret' + '&' + 'здесь OAuth token secret'
def create_signature(secret_key, string):
string_to_sign = string.encode('utf-8')
encoded_key = secret_key.encode('utf-8')
temp = hmac.new(encoded_key, string_to_sign, hashlib.sha1).hexdigest()
byte_array = b64encode(binascii.unhexlify(temp))
return byte_array.decode("utf-8")
result = create_signature(signing_key, encoded_base_string)
print('сигнатура: ', '\n', result)
params1 = {'oauth_consumer_key': oauth_consumer_key, 'oauth_nonce': oauth_nonce, 'oauth_signature_method': oauth_signature_method,
'oauth_timestamp': oauth_timestamp, 'oauth_version': oauth_version, 'oauth_token': 'gFBUa63v.6kOaF5Sve0auTiZYKddqHIVEv8kb7x2',
'oauth_signature': result}
resp = requests.get('http://css-zona.ru/uapi/publ', params=params1)
print('отправленный запрос: ', '\n', resp.url)
print('ответ: ', '\n', resp.text)
print(resp)