Python 如何将请求响应对象序列化为HAR
我想将Python 如何将请求响应对象序列化为HAR,python,python-3.x,serialization,python-requests,har,Python,Python 3.x,Serialization,Python Requests,Har,我想将响应对象序列化为json,最好是以json格式 导入请求 resp=requests.get('http://httpbin.org/get') har=to_har(resp)# 目前,我的简单3分钟解决方案(不是HAR格式)对响应对象的序列化如下所示(如果不存在任何内容,则可能是一个良好的起点): 看起来这是最好的解决方案。我已经检查了PyPI上所有与HAR相关的库,我找到的唯一接近的解决方案(除了)是。不幸的是,marshmallow\u har.Response.\uuu sche
响应
对象序列化为json,最好是以json格式
导入请求
resp=requests.get('http://httpbin.org/get')
har=to_har(resp)#
目前,我的简单3分钟解决方案(不是HAR格式)对响应对象的序列化如下所示(如果不存在任何内容,则可能是一个良好的起点):
看起来这是最好的解决方案。我已经检查了PyPI上所有与HAR相关的库,我找到的唯一接近的解决方案(除了)是。不幸的是,marshmallow\u har.Response.\uuu schema\uuuu
与内部结构既不匹配requests.Response,也不匹配urlib3.Response.HTTPResponse
。因此,我看到的解决方案是:
像以前一样使用临时解决方案。为了确保结果具有正确的结构,可以使用棉花糖har
通过向字段提供属性
参数,创建您自己的棉花糖模式。我建议分叉并扩展棉花糖har
,但它使用工厂和其他奇怪的魔法,不容易扩展。所以,最好从零地开始
并考虑开源解决方案:
我认为大多数人对<代码> RS.jSORE()/<代码>感到满意,我不知道,这可能会或可能不符合HAR。您还可以向resp.json()
返回的dict
中添加字段。resp.json()仅适用于json响应,并且仅序列化响应体。您不会序列化标题、url、请求或重定向历史记录。这和我想解决的问题不同。它实际上是对msg进行反序列化,而不是序列化