如何检查 WebClient 中的代理设置是否有效?
How to check if proxy settings in WebClient work?
我有一个带有 Proxy
属性 集的 WebClient
对象。
但是当使用 WebClient
对象时,通信是透明的,因此没有有效的代理。
如何在运行时以编程方式检查代理连接是否有效(例如,在下载带有 WebClient
对象的文件之前)?
如果我理解你的问题:
你可以在你的电脑上设置一个代理服务器,比如在CCProxy上CCProxy (Or something similar). Point your WebClient application to that proxy server. Then enable logging看看你期望的流量是否通过。
编辑
除非您使用代理服务器,否则您是否处于限制互联网访问的网络中?
如果您的网络支持,您可以查看自动代理检测https://msdn.microsoft.com/en-us/library/fze2ytx2(v=vs.110).aspx
When automatic proxy detection is enabled, the system attempts to locate a proxy configuration script that is responsible for returning the set of proxies that can be used for the request. If the proxy configuration script is found, the script is downloaded, compiled, and run on the local computer when proxy information, the request stream, or the response is obtained for a request that uses a WebProxy instance.
很难知道问题是否出在代理设置上的原因是;当您的应用尝试连接到互联网时,它不可能知道或猜测 URL 不可访问的原因是因为您需要使用代理。所以它抛出一个一般的异常。由于 URL 可能无法访问的原因有很多,例如 Internet 服务已关闭、网络配置错误或您的情况,因此需要代理设置。您的应用会猜测 URL 无法访问的原因之一。
我有一个带有 Proxy
属性 集的 WebClient
对象。
但是当使用 WebClient
对象时,通信是透明的,因此没有有效的代理。
如何在运行时以编程方式检查代理连接是否有效(例如,在下载带有 WebClient
对象的文件之前)?
如果我理解你的问题:
你可以在你的电脑上设置一个代理服务器,比如在CCProxy上CCProxy (Or something similar). Point your WebClient application to that proxy server. Then enable logging看看你期望的流量是否通过。
编辑
除非您使用代理服务器,否则您是否处于限制互联网访问的网络中?
如果您的网络支持,您可以查看自动代理检测https://msdn.microsoft.com/en-us/library/fze2ytx2(v=vs.110).aspx
When automatic proxy detection is enabled, the system attempts to locate a proxy configuration script that is responsible for returning the set of proxies that can be used for the request. If the proxy configuration script is found, the script is downloaded, compiled, and run on the local computer when proxy information, the request stream, or the response is obtained for a request that uses a WebProxy instance.
很难知道问题是否出在代理设置上的原因是;当您的应用尝试连接到互联网时,它不可能知道或猜测 URL 不可访问的原因是因为您需要使用代理。所以它抛出一个一般的异常。由于 URL 可能无法访问的原因有很多,例如 Internet 服务已关闭、网络配置错误或您的情况,因此需要代理设置。您的应用会猜测 URL 无法访问的原因之一。