Создать URL с JSON-объектом в качестве заголовка - PullRequest
0 голосов
/ 25 июня 2019

Я изучаю Bitso API (Bitso - мексиканский криптообмен).

Документы API хорошо объяснены на некоторых языках, таких как Python и Ruby, для его использования. Проблема здесь в том, что нет примеров использования прямых URL для запроса.

Что я планирую сделать, так это создать URL-адрес, который код создает для своей функции запросов.

Есть запрос на баланс аккаунта, это данные, которые я хотел бы получить. Согласно документации это частный запрос, для которого нужны заголовки (ключ, одноразовый номер и подпись), вы можете посмотреть здесь .

Код для выполнения этого запроса в Python следующий:

import time
import hmac
import hashlib
import requests

bitso_key = "BITSO_KEY"
bitso_secret = "BITSO_SECRET"
nonce =  str(int(round(time.time() * 1000)))
http_method = "GET"
request_path = "/v3/balance/"
json_payload = ""

# Create signature
message = nonce+http_method+request_path+json_payload
signature = hmac.new(bitso_secret.encode('utf-8'),
                                            message.encode('utf-8'),
                                            hashlib.sha256).hexdigest()

# Build the auth header
auth_header = 'Bitso %s:%s:%s' % (bitso_key, nonce, signature)

# Send request
response = requests.get("https://api.bitso.com/v3/balance/", headers={"Authorization": auth_header})

print(response.content)

Итак, основываясь на этом, я мог бы сказать, что URL выглядит примерно так:

https://api.bitso.com/v3/balance/Bitso%20<Key>:<nonce>:<signature>

Я уверен, что ошибаюсь в этом предположении, я понимаю, что headers={"Authorization": auth_header} представляется объектом JSON, используемым в качестве заголовка в URL, но я хотел бы знать, как этот объект JSON транслируется в URL, чтобы сделать запрос. Я хотел бы скопировать и вставить этот URL в браузер и получить данные в ответ.

Мне нужен этот URL, чтобы я мог использовать его для подключения службы к инструменту бизнес-аналитики.

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...