【问题标题】:How can I detect my client using proxy?如何使用代理检测我的客户?
【发布时间】:2012-12-14 12:19:09
【问题描述】:

我正在开发一个 Windows 应用程序。它调用一个网络服务。但是我的一些客户使用代理。对于使用代理的客户端,我想显示一个消息框并重定向到应用程序设置 WinForm for proxy credential ıinfo。

那么如何检测客户端正在使用代理呢? (我正在使用 C#)

【问题讨论】:

    标签: c# winforms proxy client


    【解决方案1】:

    请通过WebRequest.DefaultWebProxy查看

    string sampleURL = "http://proxy.example.com";
    bool useProxy = !string.Equals(System.Net.WebRequest.DefaultWebProxy.GetProxy(new Uri(sampleURL)), sampleURL);    
    Console.WriteLine( useProxy ? "Yes" : "No");
    

    或者通过简单的演员检查:

    if (System.Net.WebRequest.DefaultWebProxy as System.Net.WebProxy != null) {}
    

    【讨论】:

    • 抛出错误“无法将“WebProxyWrapper”类型的对象转换为“System.Net.WebProxy”类型。”
    • 我已经更新了代码。尝试将 System.Net.WebRequest.DefaultWebProxy 保存为 System.Net.IWebProxy
    • (proxy != null) 每次都返回 true。我打开了 ie 和 settings-connections-lan 设置,我在那里写了一个代理。您的代码没有看到此更改..
    • 已修复 :) 尝试 System.Net.WebRequest.DefaultWebProxy 作为 System.Net.WebProxy
    • 现在代理总是为空?我从 IE 设置代理?这段代码能看到这个变化吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-30
    • 1970-01-01
    • 2011-03-04
    • 2012-05-31
    • 1970-01-01
    相关资源
    最近更新 更多