为什么使用代理时需要将KeepAlive设置为false ?

本文关键字:设置 KeepAlive false 代理 为什么 | 更新日期: 2023-09-27 18:13:39

我使用HTTPWebRequest与代理。我注意到,如果我将KeepAlive设置为true,我会得到一个407禁止异常,当我将KeepAlive设置为false时,它会工作。

我只是想知道这是为什么?

为什么使用代理时需要将KeepAlive设置为false ?

因为对代理执行keepalive是毫无意义的带宽浪费。听起来好像您的代理服务器足够聪明,可以通过发出"407"错误响应来保护自己。

PS:错误实际上是

(407)需要代理认证

如果你的代理是HTTP兼容的,没有理由将KeepAlive设置为false,除非你的代理需要NTLM身份验证。

要使NTLM身份验证成功,您需要有一个保持连接。看起来您正在经历这样一个代理,这就是为什么当启用keep-alive时,它失败了407。