我已经检查了Fiddler - tunnelled http requests to port 443和Fiddler2: Decrypt HTTPS traffic and Tunnel to host:443,但我的问题不同了。
我不想将Fiddler用作其他程序的代理。相反,我只想使用Fiddler的Composer选项卡通过上游代理发送HTTPS请求。我的代理配置和授权是正确的;发送HTTP请求的工作正常。
当我使用Fiddler的Composer向https://google.com发送HTTPS GET时,会导致超时(HTTP 502 / [Fiddler]与'google.com'的连接失败。错误:TimedOut(0x274c) )。
当我向https://google.com发送HTTPS CONNECT时,我收到HTTP 502 / [Fiddler] DNS查询失败。
有人知道如何通过我的代理建立HTTPS隧道,然后发送GET请求吗?
答案 0 :(得分:0)
要建立隧道,必须使用CONNECT到代理。您还必须包含主机标头,该标头在CONNECT请求中将目标加倍...例如
CONNECT www.google.com:443 HTTP/1.1
Host: www.google.com
etc
隧道启动后(例如,您从代理服务器获得200 OK),您需要先进行TLS握手,然后才能发送http请求(因为它现在通过https进行了解决)。例如
GET / HTTP/1.1
Host: www.google.com
etc.