【问题标题】:The ServicePointManager does not support proxies of * scheme [closed]ServicePointManager 不支持 * 方案的代理 [关闭]
【发布时间】:2010-10-31 13:50:46
【问题描述】:

我遇到过两种不同的变体:

“ServicePointManager 不支持代理方案的代理” "ServicePointManager 不支持 HTTPS 方案的代理"

当客户端尝试通过代理连接到我们的网络服务时,我收到此错误。我在一些使用代理的客户中遇到过这个问题,但我不知道是什么原因造成的。使用 System.Net.WebProxy 和默认凭据设置代理。

使用 .Net 1.1 和 Microsoft.Web.Services2。

有人知道是什么原因造成的吗?

【问题讨论】:

  • 从 https url 从 NuGet 恢复包时也会发生这种情况,特别是在 Visual Studio 2019 中。在 VS 2019 中发布应用程序时尝试恢复服务依赖项时也会发生这种情况。在这种情况下错误可能含糊不清,并导致一般回滚异常。为什么用这种方式恢复 NuGet 包不支持 HTTPS 我不知道。

标签: .net web-services proxy


【解决方案1】:

好的。确保代理地址以“http://”为前缀似乎在我迄今为止遇到的所有情况下都解决了这个问题。

【讨论】:

  • 我觉得一开始就没有添加 http:// 很愚蠢。它在文档中!我只是将它复制到 Internet Explorer 代理设置,但它不起作用。感谢您的回答。
  • 还可以看到http://in System.Net.WebProxy.CreateProxyUri私有方法的添加
【解决方案2】:

我只是运行 Fiddler 并设置了 Automatically Authenticate on/checked。它对我有用。

【讨论】:

  • 让 Fiddler 在后台运行 --- 这对我来说触发了这个问题。您的评论解决了我的问题(无论如何都要关闭它)。谢谢。
【解决方案3】:

这是我不得不追查的一个有趣的错误。在 .NET 中像这样指定代理服务器时:WebProxy("https://someproxyserver") 您将收到此错误。无论您在“://”字符之前输入什么方案,都会出现此错误。例如,如果你使用这个: WebProxy("somescheme://someproxyserver") 那么你会得到错误信息:ServicePointManager 不支持 somescheme 方案的代理。该类唯一可识别的方案是 http。

如果您在 .config 文件中设置如下内容,您也会收到此错误:proxyAddress="myproxy.somewhere.local:8080" 您必须像这样列出方案:proxyAddress="http://myproxy.somewhere.local:8080"

讨论 - 大多数组织没有 HTTPS 代理服务器。这不是必需的,因为如果需要 SSL 通信,则此通信是在端点服务器和客户端之间,而不是代理和客户端之间。这并不意味着 SSL 通信通过 http 代理无论如何都不安全。 SSL 流量通过代理加密和隧道传输就好了,这不亚于直接进入基于 SSL 的目标(只要您信任您的代理)。只有与代理的初始连接不通过 SSL。

来自以下链接的上述解决方案

https://docs.microsoft.com/en-us/archive/blogs/jpsanders/the-servicepointmanager-does-not-support-proxies-of-https-scheme-net-1-1-sp1

【讨论】:

    猜你喜欢
    • 2019-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-07
    相关资源
    最近更新 更多