0

GetIpメソッド(下記)を使用してインターネットIPを取得しようとしましたが、123.22.114.5のIPが1つしか取得されません。モデムを何度も再起動しましたが、それでも123.22.114.5です。助けてください。(私はWindows764ビットでVisualStudio2010を使用しています)

(私の悪い英語について申し訳ありません)

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などの外部Webサイトを要求すると、ISPの外部IPアドレスであるIPが1つだけ取得されます。

すべてのISPには、インターネットに面している静的IPアドレスとホストが制限されています。そのWANIPアドレスは、通常、多くのユーザー間で共有されます。

表示されるIPはローカルIPアドレスとは完全に異なるため、モデムを再起動してもIPアドレスは変更されません。

于 2012-07-29T08:05:51.283 に答える