如何解码来自 BrowserMobProxy 的 har 的请求内容?
How to decode request content from BrowserMobProxy's har?
我正在尝试使用 python3、seleniumwire、haralyzer、chromedriver 和 browsermobproxy 从 facebook 获取一些数据。
当我 运行 使用该选项的 broswermobproxy 时:
har_options = {'captureHeaders': True, 'captureContent': True, 'captureBinaryContent': True}
self.proxy.new_har("new_members_answers", har_options)
我收到包含该内容文本的回复:
当我从 base64 解码时:
import base64
content_dec = base64.b64decode(content)
我明白了:
如果您能告诉我如何将其转换为文本(json 数据),我将不胜感激 - 就像在浏览器 DevTools 中一样。
编辑
编码后的文字:
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
是brotli压缩造成的
$ pip3 install brotli
在py文件中
import brotli
import base64
decoded_text = brotli.decompress(
base64.b64decode(entryProxy['response']['content']['text'])
).decode()
我正在尝试使用 python3、seleniumwire、haralyzer、chromedriver 和 browsermobproxy 从 facebook 获取一些数据。
当我 运行 使用该选项的 broswermobproxy 时:
har_options = {'captureHeaders': True, 'captureContent': True, 'captureBinaryContent': True}
self.proxy.new_har("new_members_answers", har_options)
我收到包含该内容文本的回复:
当我从 base64 解码时:
import base64
content_dec = base64.b64decode(content)
我明白了:
如果您能告诉我如何将其转换为文本(json 数据),我将不胜感激 - 就像在浏览器 DevTools 中一样。
编辑
编码后的文字:
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
是brotli压缩造成的
$ pip3 install brotli
在py文件中
import brotli
import base64
decoded_text = brotli.decompress(
base64.b64decode(entryProxy['response']['content']['text'])
).decode()