0

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

(对不起我的英语不好)

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;
    }
4

1 回答 1

1

当您请求诸如whatismyip之类的外部网站时,您只会获得一个 IP,即您的 ISP 的外部IP 地址。

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

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

于 2012-07-29T08:05:51.283 回答