0

我正在尝试通过 NTLM 身份验证代理服务器编写 Connect 调用。我打开一个到代理服务器的套接字并向其发送“CONNECT xxx49:80 HTTP/1.1\r\n\r\n”。我希望这会失败,因为它是一个身份验证代理服务器,但它会失败并且还会关闭我与代理服务器的连接。我正在使用 Wireshark 检查数据包值。我可以看到“代理连接:关闭\r\n”。如果我执行 GET 它不会关闭连接。我的问题是失败的 Connect 调用关闭我的套接字连接是否正确?

4

1 回答 1

1

我不是 100% 清楚您的问题 - 我不希望第一个 CONNECT 因 NTLM 代理服务器而失败,因为它应该发送一个 Proxy-Authenticate: NTLM 标头。

在任何情况下,代理服务器都有权在失败的情况下关闭客户端连接,因此您的问题的答案是“是”。奇怪的是,它对 GET 没有做同样的事情,但是代理在作为对 CONNECT 的响应时可以做的事情受到更多限制,并且这个代理可能会决定它不支持 HTTPS 来处理您的请求。

于 2011-02-03T20:24:14.037 回答