# ! IMPORT ! make sure you ran mitmproxy with this script, # eg: `/path/to/mitmproxy -s mitmproxy.py` import time from mitmproxy import http import re import requests session = requests.session() class Writer: def response(self, flow: http.HTTPFlow): # /aweme/v1/web/user/profile/other/ 他人主页获取他人信息 if '/aweme/v1/web/user/profile/other' in flow.request.path: response_json_content = flow.response.content session.post("http://127.0.0.1:5000/user_info", headers={ "X-MITM-TS": str(time.time()), "X_REFERER": flow.request.url }, data=response_json_content, timeout=(1, 1)) def websocket_message(self, flow: http.HTTPFlow): re_c = re.search('webcast\d-ws-web-.*\.douyin\.com', flow.request.host) if re_c: message = flow.websocket.messages[-1] if message.from_client: return content = message.content session.post("http://127.0.0.1:5000/message", headers={ "X-MITM-TS": str(time.time()), "X_REFERER": flow.request.url }, data=content, timeout=(1, 1)) addons = [Writer()]