Я хочу сериализовать запросы Response
объекта как json, предпочтительно в формате HAR .
import requests
resp = requests.get('http://httpbin.org/get')
har = to_har(resp) # <--- magic
но ничего не смог найти в Интернете с моими полномочиями google-fu.
кажется, что все данные существуют на объекте Response
, я надеюсь, что мне не нужно реализовывать всю спецификацию HAR, и существует некоторый код / утилита, которую я могу использовать повторно.
правильный ответ может дать:
существующей библиотеки или обратитесь к исходной точке, если пока ничего не существует для python
и / или requests
.
в настоящее время мое более простое 3-минутное решение (не в формате HAR) для объекта Response
выглядит следующим образом (может быть хорошей отправной точкой, если ничего не существует):
def resp2dict(resp, _root=True):
d = {
'text': resp.text,
'headers': dict(resp.headers),
'status_code': resp.status_code,
'request': {
'url': resp.request.url,
'method': resp.request.method,
'headers': dict(resp.request.headers),
},
}
if _root:
d['history'] = [resp2dict(h, False) for h in resp.history]
return d
я публикую это, так как думаю, что не только я изо всех сил стараюсь сериализовать Response
объекты в json в целом независимо от формата HAR.