我正在尝试使用 mitmproxy 和 Python 将一个页面重定向到另一个页面。我可以毫无问题地与 mitmproxy 一起运行内联脚本,但在将 URL 更改为另一个 URL 时我遇到了困难。就像如果我访问 google.com 它会重定向到 stackoverflow.com
def response(context, flow):
print("DEBUG")
if flow.request.url.startswith("http://google.com/"):
print("It does contain it")
flow.request.url = "http://stackoverflow/"
这在理论上应该有效。我懂了http://google.com/
在 mitmproxy 的 GUI 中(作为 GET)但是print("It does contain it")
永远不会被解雇。
当我尝试把flow.request.url = "http://stackoverflow.com"
就在print("DEBUG")
它也不会起作用。
我究竟做错了什么?我也尝试过if "google.com" in flow.request.url
检查 URL 是否包含google.com
但这也行不通。
Thanks
下列mitmproxy
脚本将
- 将请求重定向自
mydomain.com
to newsite.mydomain.com
- 更改请求方法路径(应该是这样的
/getjson?
到一个新的 `/getxml
- 更改目标主机方案
- 更改目标服务器端口
-
覆盖请求头Host
假装自己是起源
import mitmproxy
from mitmproxy.models import HTTPResponse
from netlib.http import Headers
def request(flow):
if flow.request.pretty_host.endswith("mydomain.com"):
mitmproxy.ctx.log( flow.request.path )
method = flow.request.path.split('/')[3].split('?')[0]
flow.request.host = "newsite.mydomain.com"
flow.request.port = 8181
flow.request.scheme = 'http'
if method == 'getjson':
flow.request.path=flow.request.path.replace(method,"getxml")
flow.request.headers["Host"] = "newsite.mydomain.com"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)