feat: Add script to parse HAR and list URLs
This commit is contained in:
parent
40b6d196fc
commit
fb1389401b
43
har_parser.py
Normal file
43
har_parser.py
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
import json
|
||||||
|
|
||||||
|
def main():
|
||||||
|
"""
|
||||||
|
Opens a HAR archive file "data.har" and prints a list of files (URLs)
|
||||||
|
found in the archive.
|
||||||
|
"""
|
||||||
|
har_file_path = "data.har"
|
||||||
|
try:
|
||||||
|
with open(har_file_path, 'r', encoding='utf-8') as f:
|
||||||
|
har_data = json.load(f)
|
||||||
|
except FileNotFoundError:
|
||||||
|
print(f"Error: The file '{har_file_path}' was not found.")
|
||||||
|
return
|
||||||
|
except json.JSONDecodeError:
|
||||||
|
print(f"Error: Could not decode JSON from the file '{har_file_path}'.")
|
||||||
|
return
|
||||||
|
except Exception as e:
|
||||||
|
print(f"An unexpected error occurred while reading the file: {e}")
|
||||||
|
return
|
||||||
|
|
||||||
|
try:
|
||||||
|
entries = har_data.get('log', {}).get('entries', [])
|
||||||
|
if not entries:
|
||||||
|
print("No entries found in the HAR file.")
|
||||||
|
return
|
||||||
|
|
||||||
|
print("Files found in the HAR archive:")
|
||||||
|
for entry in entries:
|
||||||
|
request = entry.get('request', {})
|
||||||
|
url = request.get('url')
|
||||||
|
if url:
|
||||||
|
print(url)
|
||||||
|
else:
|
||||||
|
print("Entry found with no request URL.")
|
||||||
|
except AttributeError:
|
||||||
|
print("Error: The HAR file does not have the expected structure ('log' or 'entries' missing).")
|
||||||
|
except Exception as e:
|
||||||
|
print(f"An unexpected error occurred while processing HAR entries: {e}")
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
Loading…
Reference in New Issue
Block a user