mitmproxy 将请求重定向到 localhost 并设置 Host header
mitmproxy redirect request to localhost and set Host header
我是 运行 端口 8181
上的本地 http 服务器。我在我的设备上配置了 mitmproxy
,现在我需要将来自特定域的请求转发到我的本地服务器实例。所以我正在使用 here:
描述的请求重定向示例脚本
def request(flow):
# pretty_host takes the "Host" header of the request into account,
# which is useful in transparent mode where we usually only have the IP
# otherwise.
# Method 2: Redirect the request to a different server
if flow.request.pretty_host.endswith("mydomain.com"):
flow.request.headers["Host"] = flow.request.headers
flow.request.host = "localhost"
flow.request.port = 8181
flow.request.scheme = 'http'
这行得通,但我需要将 Host
header 设置为原始请求主机,因此我按照 here 描述的添加 header 示例进行操作
flow.request.headers["Host"] = flow.request.headers
但是在 mitmproxy
中,我无法在请求中看到这个 header 设置,而且我在 localhost
服务器日志中也没有得到它。
所以我想做的和cURL
一样
curl -b c -c c "http://localhost:8181/something" -H "Host: mydomain.com"
为了至少有需要的请求header喜欢
* Trying ::1...
* Connected to localhost (::1) port 8181 (#0)
> GET /something HTTP/1.1
> Host:mydomain.com
> User-Agent: curl/7.43.0
> Accept: */*
尝试:flow.request.headers["Host"] = ["mydomain.com"]
参考:https://github.com/mitmproxy/mitmproxy/blob/v0.9.2/examples/redirect_requests.py
我是 运行 端口 8181
上的本地 http 服务器。我在我的设备上配置了 mitmproxy
,现在我需要将来自特定域的请求转发到我的本地服务器实例。所以我正在使用 here:
def request(flow):
# pretty_host takes the "Host" header of the request into account,
# which is useful in transparent mode where we usually only have the IP
# otherwise.
# Method 2: Redirect the request to a different server
if flow.request.pretty_host.endswith("mydomain.com"):
flow.request.headers["Host"] = flow.request.headers
flow.request.host = "localhost"
flow.request.port = 8181
flow.request.scheme = 'http'
这行得通,但我需要将 Host
header 设置为原始请求主机,因此我按照 here 描述的添加 header 示例进行操作
flow.request.headers["Host"] = flow.request.headers
但是在 mitmproxy
中,我无法在请求中看到这个 header 设置,而且我在 localhost
服务器日志中也没有得到它。
所以我想做的和cURL
curl -b c -c c "http://localhost:8181/something" -H "Host: mydomain.com"
为了至少有需要的请求header喜欢
* Trying ::1...
* Connected to localhost (::1) port 8181 (#0)
> GET /something HTTP/1.1
> Host:mydomain.com
> User-Agent: curl/7.43.0
> Accept: */*
尝试:flow.request.headers["Host"] = ["mydomain.com"] 参考:https://github.com/mitmproxy/mitmproxy/blob/v0.9.2/examples/redirect_requests.py