Я пытаюсь обновить небольшую библиотеку Python под названием libpynexmo для работы с Python 3.
Я застрял в этой функции:
def send_request_json(self, request):
url = request
req = urllib.request.Request(url=url)
req.add_header('Accept', 'application/json')
try:
return json.load(urllib.request.urlopen(req))
except ValueError:
return False
Когда это дойдет до этого, json отвечает:
TypeError: the JSON object must be str, not 'bytes'
Я прочитал в нескольких местах, что для json.load
вы должны передать объекты (в этом случае объект HTTPResponse
) с прикрепленным .read()
, но он не работает с объектами HTTPResponse
.
Я не понимаю, куда идти дальше, но, поскольку моя целая 1500 строк script только что преобразована в Python 3, мне не хочется возвращаться к 2.7.