前序:
mitmproxy真的很強(qiáng)大,或許是大家都各自使用,或者沒有相關(guān)的需求,導(dǎo)致我廢了很大精力找了很久的資料都很難找到二次代理的配置方法,看了很久源代碼加上搜了很久的資料,最終讓我終于找到方法,下面記錄一下,大家就不用跟我一樣踩坑了。
創(chuàng)新互聯(lián)公司主要從事網(wǎng)站制作、做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)安慶,十多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220
以下配置使用mitmproxy版本信息如下
Mitmproxy: 4.0.4
Python: 3.6.3
配置步驟實(shí)際相當(dāng)簡(jiǎn)單,但所有步驟缺一不可:
注:只有在一開始啟動(dòng)了upstream模式,后續(xù)才可以進(jìn)行定制化跳轉(zhuǎn)
mitmdump --mode upstream:http://default-upstream-proxy.local:8080/ -s ./change_upstream_proxy.py
def request(flow: http.HTTPFlow) -> None:
if flow.request.method == "CONNECT":
# If the decision is done by domain, one could also modify the server address here.
# We do it after CONNECT here to have the request data available as well.
return
client_ip = flow.client_conn.address[0]
if 'ip.cn' in flow.request.url:
ctx.log.info(flow.request.url)
proxy =("localhost", 8888)
else:
proxy = ("localhost", 3800)
# 這里配置二級(jí)代理的ip地址和端口
if flow.live:
flow.live.change_upstream_proxy_server(proxy)
設(shè)備連接mitmproxy后,訪問http://www.ip.cn 及 http://httpbin.org/ip
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。