【发布时间】:2012-04-06 07:27:41
【问题描述】:
我正在寻找一种使用 Fiddler 将 HTTPS 会话代理为 HTTP 会话的方法,因此资源管理器将使用 HTTP 会话,而 Fiddler 在服务器前处理 HTTPS 会话:
客户端(浏览器) Fiddler 服务器
谁能说这是否可以通过 Fiddler 脚本来完成?
如果您对如何使用其他工具(不是 Fiddler)有其他想法,我愿意接受建议 :)
谢谢! 哟哈
【问题讨论】:
我正在寻找一种使用 Fiddler 将 HTTPS 会话代理为 HTTP 会话的方法,因此资源管理器将使用 HTTP 会话,而 Fiddler 在服务器前处理 HTTPS 会话:
客户端(浏览器) Fiddler 服务器
谁能说这是否可以通过 Fiddler 脚本来完成?
如果您对如何使用其他工具(不是 Fiddler)有其他想法,我愿意接受建议 :)
谢谢! 哟哈
【问题讨论】:
@troy 的回答很好,但还不够。你应该处理 CONNECT 的:
if (oSession.HostnameIs("app.yourdomain.com") )
{
// Handle CONNECT Tunnels
if (oSession.HTTPMethodIs("CONNECT"))
{
oSession["x-replywithtunnel"] = "FakeTunnel";
return;
}
oSession.fullUrl = "http://somedomain:someport" + oSession.PathAndQuery;
}
【讨论】:
试试这个:
if (oSession.fullUrl.StartsWith("http://"))
{
oSession.oRequest.headers.UriScheme = "https";
}
【讨论】: