Преобразование GET запроса

Проблема в том что на выходе я хочу получить json ответ не в строковом значении, как решить данную проблему?

import datetime
import http
import http.client
import time
import random


from jose import jws
from jose.constants import ALGORITHMS

# secret user key
key = { 
    # Ваш ключ
    "kty": "EC",
    "alg": "ES256",
    "crv": "P-256",
    "x": "pSH0jvbtVZiseTpJZk0_yfudEIv86uwjeH_gr1qmOGA",
    "y": "eGdC9EIGmhCheM_T8vhS4Qwk7RfaPRBxF3W5omgBc_M",
    "d": "DuSjR5eZBp5S-9HNKA8kRQFA_3Akkept-dTbwFoq_3w"
}


def main():
    dt = datetime.datetime.now()
    ts = time.mktime(dt.timetuple())
    claims = {
        # user identificator
        "email": "ВАШ ЕМАИЛ",
        # leave as is
        "aud": "usr",
        # token issue time
        "iat": int(ts),
        # unique token identificator
        "jti": hex(random.getrandbits(64))
    }
    print(claims)
    # make token with claims from secret user key
    token = jws.sign(claims, key, headers={"kid": "КИД"}, algorithm=ALGORITHMS.ES256)

    conn = http.client.HTTPSConnection("bitzlato.com", 443)

    # make  request against api endpoint with Authorization: Bearer <token> header
    conn.request("GET", "/api/p2p/exchange/dsa/?cryptocurrency=BTC&currency=RUB&paymethod=3547&type=purchase"
                        "&limit=200", headers={
        "Authorization": "Bearer " + token
    })
    r1 = conn.getresponse()
    print(r1.status, r1.reason, r1.read())
    

if __name__ == '__main__':
    main()

На выходе получаем

200 OK b'{"total":87,"data":[{"id":458832,"type":"selling","cryptocurrency":"BTC","currency":"RUB","rate":"3447314","limitCurrency":....

Запрос указал не полностью, так как очень громоздкий.


Ответы (1 шт):

Автор решения: AL3F

В место r1.read() попробуйте использовать r1.json()

→ Ссылка