問題描述當(dāng)我嘗試使用HttpEvents的方法flow.live.change_upstream_proxy_server(address)切換上游代理時(shí),上游代理保持不變并且不會(huì)改變。?重現(xiàn)該行為的步驟:使用上游和腳本啟動(dòng) Mitm:?mitmdump --mode upstream:182.52.74.76:34084 --ssl-insecure -s scripts/watcher.py等待上游代理失敗讓 watcher.py 更新上游代理當(dāng)前結(jié)果:此時(shí)我們假設(shè)上游代理現(xiàn)在更改為103.199.84.54:8080,但是當(dāng)我們更新請(qǐng)求時(shí),我們可以在錯(cuò)誤消息中看到代理仍然是相同的(182.52.74.76:34084)而不是103.199.84.54:8080:Watcher.pyfrom mitmproxy import httpfrom mitmproxy import ctximport requestsimport jsonimport typing#***** Some fetching to get new proxy from my API*****def getNewProxy() -> typing.Tuple[str, int]:? ? id = str(getRandID())? ? params = { 'id': 'eq.' + id, 'select': 'proxy'}? ? response = str(requests.get(url = url, params = params).json()[0]['proxy'])[7:].split(':')? ? proxIP = (response[0], int(response[1]))? ? return (proxIP)class Events:? ??? ? def error(self, flow: http.HTTPFlow):? ? ? ? ctx.log.info(str(flow.server_conn.address))? ? ? ? pAddr = getNewProxy()? ? ? ? ctx.log.info("Switching upstream proxy to: " + pAddr[0] + ":" + str(pAddr[1]))? ? ? ? flow.live.change_upstream_proxy_server(pAddr)addons = [? ? Events()]系統(tǒng)信息mitmproxy --版本:$ mitmdump --versionMitmproxy: 5.2Python:? ? 3.7.3OpenSSL:? ?OpenSSL 1.1.1g? 21 Apr 2020Platform:? Linux-4.19.0-9-amd64-x86_64-with-debian-10.4感謝您的幫助,現(xiàn)在真的被這個(gè)問題困擾了!
添加回答
舉報(bào)
0/150
提交
取消