【问题标题】:Proxy setting for all app connection所有应用程序连接的代理设置
【发布时间】:2016-06-10 06:03:08
【问题描述】:

对于 C# 应用程序的所有传出连接是否有任何默认代理设置?

我正在开发一个使用第三方 C# 库的小程序。有两个来自不同供应商的库。两者都从互联网上获取数据。我的程序应该通过代理连接,但服务器不应该。

我只需要为程序设置一个代理。我尝试使用WebRequest.DefaultWebProxy。对于一个 DLL,它可以工作,但对于另一个 DLL,它不会。工作 DLL 使用 443 端口,非工作 DLL 使用自定义端口。

是否有任何选项可以为 C# 应用程序设置代理?

【问题讨论】:

  • “第二个使用自定义端口”你确定它甚至使用 HTTP 吗?
  • 有防火墙吗?例如,在我工作的地方,端口 80 和 443 可以通过代理工作,但非标准端口不能。
  • 我想它不是 HTTP,它可能是 Sockets。我可以将 DefaultProxy 与其他协议一起使用,还是可以将 DefaultProxy 之类的东西与其他协议一起使用?第二个 dll 仍然连接到远程资源,但忽略 WebRequest.DefaultWebProxy。第一个通过代理连接。目前代理对所有端口开放。

标签: c# proxy


【解决方案1】:

你可以试试这个:

System.Net.WebRequest.DefaultWebProxy.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;

来自here

这将强制 DefaultWebProxy 使用默认凭据, 与通过 UseDefaultCredentials = true 完成的效果类似。

因此所有新创建的 WebRequest 实例都将使用默认代理 已配置为使用代理的默认凭据。

当然,您可能会遇到另一个问题,即代理或防火墙阻止了无默认端口。您可以尝试 telnet 来验证端口是否可访问。

【讨论】:

  • OP 应该“试试这个”的任何特殊原因?
猜你喜欢
  • 2015-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-02
  • 1970-01-01
相关资源
最近更新 更多