Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将请求响应对象序列化为HAR_Python_Python 3.x_Serialization_Python Requests_Har - Fatal编程技术网

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进行反序列化,而不是序列化