C# 如何检查WebClient中的代理设置是否有效?

C# 如何检查WebClient中的代理设置是否有效?,c#,webclient,C#,Webclient,我有一个WebClient对象和Proxy属性集 但是当使用WebClient对象时,通信是透明的,因此没有有效的代理 如何在运行时以编程方式检查(例如,在下载带有WebClient对象的文件之前)代理连接是否工作?如果我理解您的问题: 您可以在计算机上设置代理服务器,例如(或类似的)。将WebClient应用程序指向该代理服务器。然后在CCProxy上查看您期望的流量是否正在通过 编辑 您所在的网络是否限制internet访问,除非您使用的是代理服务器 如果您的网络支持它,您可以研究自动代理检

我有一个
WebClient
对象和
Proxy
属性集

但是当使用
WebClient
对象时,通信是透明的,因此没有有效的代理


如何在运行时以编程方式检查(例如,在下载带有
WebClient
对象的文件之前)代理连接是否工作?

如果我理解您的问题:

您可以在计算机上设置代理服务器,例如(或类似的)。将WebClient应用程序指向该代理服务器。然后在CCProxy上查看您期望的流量是否正在通过

编辑

您所在的网络是否限制internet访问,除非您使用的是代理服务器

如果您的网络支持它,您可以研究自动代理检测

启用自动代理检测后,系统将尝试查找代理配置脚本,该脚本负责返回可用于请求的代理集。如果找到代理配置脚本,则当获取使用WebProxy实例的请求的代理信息、请求流或响应时,将在本地计算机上下载、编译并运行该脚本


很难知道问题是否出在代理设置上的原因是:;当你的应用程序尝试连接到互联网时,它不可能知道或猜测URL不可访问的原因是因为你需要使用代理。所以它抛出了一个一般性的例外。由于URL不可访问的原因有很多,例如Internet服务关闭、网络配置错误或类似情况,因此需要代理设置。你的应用程序将猜测URL无法访问的原因之一。

如果我理解你的问题:

您可以在计算机上设置代理服务器,例如(或类似的)。将WebClient应用程序指向该代理服务器。然后在CCProxy上查看您期望的流量是否正在通过

编辑

您所在的网络是否限制internet访问,除非您使用的是代理服务器

如果您的网络支持它,您可以研究自动代理检测

启用自动代理检测后,系统将尝试查找代理配置脚本,该脚本负责返回可用于请求的代理集。如果找到代理配置脚本,则当获取使用WebProxy实例的请求的代理信息、请求流或响应时,将在本地计算机上下载、编译并运行该脚本


很难知道问题是否出在代理设置上的原因是:;当你的应用程序尝试连接到互联网时,它不可能知道或猜测URL不可访问的原因是因为你需要使用代理。所以它抛出了一个一般性的例外。由于URL不可访问的原因有很多,例如Internet服务关闭、网络配置错误或类似情况,因此需要代理设置。你的应用程序会猜测URL不可访问的原因。

我的意思是如何在运行时以编程方式检查它哦!对不起,我误解了你的问题。如果WebClient无法连接到代理,它不会引发异常吗?它引发异常是因为它无法在没有代理的情况下访问URL,但它没有说明为什么无法访问URL。因此,我想记录原因是否是代理服务器。@Palmi您能编辑您的问题以更好地反映您的问题吗?在阅读了您最后的评论之后,听起来您想知道如何检测是否需要代理才能到达网络外部。我已经编辑了我的答案,希望能更好地符合您的要求。我的意思是如何在运行时以编程方式检查它哦!对不起,我误解了你的问题。如果WebClient无法连接到代理,它不会引发异常吗?它引发异常是因为它无法在没有代理的情况下访问URL,但它没有说明为什么无法访问URL。因此,我想记录原因是否是代理服务器。@Palmi您能编辑您的问题以更好地反映您的问题吗?在阅读了您最后的评论之后,听起来您想知道如何检测是否需要代理才能到达网络外部。我编辑了我的答案,希望能更好地符合你的要求。