deprecate this. har2requests does what I wanted it to do in a much better way.
parse multipart forms into a dict of field:val
add option to filter by site for noisy logs.
Unless you only have a bunch of chlsj
logs and can't run charles, this is probably the wrong project to use.
This tool does less than half of what the tool I was imagining could do, and was thrown together out of desperation when I needed to automate a task on a broken SaaS product I was stuck with. I did it because I didn't know about .har
files. If I had known about those, I would have instantly found https://github.com/louisabraham/har2requests and started with that for my automation instead of hacking this together.
If you have found this page, you almost certainly really want har2requests and should go there instead.
This is a quick-and-dirty commandline gadget that operates in two modes.
parse-charles-log.py log.chlsj
Enumerates the POST requests in the specified Charles JSON file and prints the index and URL for each to standard output.
parse-charles-log.py -d 0 log.chlsj
Dumps the headers and body of the POST request at the specified index to standard output in a format suitable for pasting into a python dict that can be used with the requests module.
This uses a slightly modified version of @richtermb's pycharles library. I haven't thought my changes through carefully enough to contribute them upstream yet, so the source for that library is copied here, used under the MIT license.
All source code in this repository is offered under the MIT license. See LICENSE
for details.