@بازی آخراندرو میلن
توسعه دهنده ارشد نرم افزار
این آموزش کوتاه نحوه پخش مجدد آفلاین شبکه مرورگر گرفته شده را با استفاده از پایتون توضیح می دهد.
هنگامی که شبکه مرورگر را به عنوان یک فایل HAR گرفتید ، می توانید یک سرور پراکسی را تنظیم کنید تا پاسخ برخی از درخواست های موجود در HAR را ارائه دهد.
بیایید با ایجاد یک فرهنگ لغت از HAR شروع کنیم.
import json
dict_url_response = {}
fob = open("har/cap1.har", "r")
data = json.load(fob)
fob.close()
entries = data["log"]["entries"]
for entry in entries:
url = entry["request"]["url"]
response = entry["response"]
dict_url_response[url] = response
اکنون یک کلاس ایجاد کنید که از آن برای رهگیری در پروکسی استفاده خواهیم کرد.
from mitmproxy.net.http import Response, Headers
class Interception:
def request(self, flow):
try:
url = flow.request.url
har_response = dict_url_response[url]
text = har_response["content"]["text"]
byt = str.encode(text)
list_headers = []
for obj in har_response["headers"]:
list_headers.append((str.encode(obj["name"]), str.encode(obj["value"])))
headers = Headers(list_headers)
response = Response(
http_version = str.encode(har_response[