![非代理感知客户端,(mitm)代理修改标头](https://linux22.com/image/682284/%E9%9D%9E%E4%BB%A3%E7%90%86%E6%84%9F%E7%9F%A5%E5%AE%A2%E6%88%B7%E7%AB%AF%EF%BC%8C%EF%BC%88mitm%EF%BC%89%E4%BB%A3%E7%90%86%E4%BF%AE%E6%94%B9%E6%A0%87%E5%A4%B4.png)
我想要实现的目标 使用 SaaS 服务从远程站点提取数据,只需向 mitmproxy 发出简单的 GET 请求即可。SaaS 服务不支持代理。我希望 SaaS Web 客户端向 mitmproxy 发出 GET 请求,基本上是这样的:
GET /filelisting HTTP/1.1
主机:mitmproxy.url
然后我希望 mitmproxy 检索真实网站的内容并将其提供给 SaaS Web 客户端:
GET /filelisting HTTP/1.1
主机:realsite.url
所以,总而言之,我想向代理执行请求,让代理替换一些标头,使用修改后的标头发出请求,然后将内容提供给客户端。
我尝试使用 mitmproxy 的 --set-headers 选项替换 Host 标头,但是当我尝试访问 mitmproxy.url 时收到错误消息:“HttpError('Invalid HTTP request form (expected: absolute, got:relative)',)”
不完全确定 mitmproxy 是否能够执行此操作(但据我所知应该是可能的),如果事实证明不能,那么请告诉我还有哪些其他工具可能有助于解决这个问题。
有任何想法吗?
答案1
您想将 mitmproxy 置于反向代理模式:http://docs.mitmproxy.org/en/latest/modes.html