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

时间:2011-11-05 14:51:32

标签: c# http https httpwebrequest

我正在使用HTTPWebRequest和代理。我注意到如果我将KeepAlive设置为true,我会得到一个407禁止的异常,当我设置keep alive为false时它会起作用。

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

2 个答案:

答案 0 :(得分:1)

因为对代理进行保持活动是对带宽的毫无意义的浪费。听起来您的特定代理服务器足够聪明,可以通过发出“407”错误响应来保护自己。

PS: 错误实际上是

  

(407)需要代理验证

答案 1 :(得分:1)

如果您的代理符合HTTP,则没有理由将KeepAlive设置为false,除非您的代理需要NTLM身份验证。

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