C# 3.0 Can';使用c无法获得正确的internet ip#

C# 3.0 Can';使用c无法获得正确的internet ip#,c#-3.0,C# 3.0,我确实尝试使用GetIp方法(如下)获取internet IP,但它只获得一个IP,即123.22.114.5,我多次重新启动调制解调器,但仍然123.22.114.5,请帮助我。(我正在windows 7 64位中使用visual studio 2010) (很抱歉我的英语不好) 当您请求一些像whatismyip这样的外部网站时,您只会得到一个IP,这是您的ISP的外部IP地址 所有ISP都有有限的静态IP地址和面向internet的主机。 广域网IP地址通常在许多用户之间共享 您看到的IP

我确实尝试使用GetIp方法(如下)获取internet IP,但它只获得一个IP,即123.22.114.5,我多次重新启动调制解调器,但仍然123.22.114.5,请帮助我。(我正在windows 7 64位中使用visual studio 2010)

(很抱歉我的英语不好)


当您请求一些像whatismyip这样的外部网站时,您只会得到一个IP,这是您的ISP的外部IP地址

所有ISP都有有限的静态IP地址和面向internet的主机。 广域网IP地址通常在许多用户之间共享


您看到的IP与本地IP地址完全不同,因此重新启动调制解调器不会改变它。

您需要获取外部IP,这个问题有两个解决方案:是什么让你认为123.22.114.5不是你的互联网IP?大卫·施瓦茨:因为我访问时的IP不一样whatismyip@tainguyen:您是否在任何地方配置了代理?您正在尝试检索哪个IP?我想检索IP,就像我在whatismyipi中看到的一样。我想检索IP我在whatismyip(184.95.55.21)中看到的是我在whatismyip中看到的,但当我使用此代码时,它只会检索123.22.114.5)我的代码中有什么错误?你在浏览器中使用了代理吗?你的代码看起来很好,对我来说很好。我的浏览器中没有任何代理
private string GetIp()
    {
        string extenalIp = "";
        string whatIsMyIp = "http://automation.whatismyip.com/n09230945.asp";
        string getIpRegex = @"\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b";
        WebClient wc = new WebClient();
        UTF8Encoding utf8 = new UTF8Encoding();
        string requestHtml = "";
        try
        {
            requestHtml = utf8.GetString(wc.DownloadData(whatIsMyIp));
        }
        catch (Exception e)
        {
            // do some thing with exception
            Console.WriteLine(e.Message);
        }
        Regex r = new Regex(getIpRegex);
        Match m = r.Match(requestHtml);
        if (m.Success)
        {
            extenalIp = m.Value.ToString();
        }
        wc.Dispose();
        return extenalIp;
    }