C#获取IP

来源:互联网 发布:linux uri 解码 编辑:程序博客网 时间:2024/06/04 04:12
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;


namespace TestIP
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }


        private void button1_Click(object sender, EventArgs e)
        {
            this.richTextBox1.Clear();
            string iphostname = System.Net.Dns.GetHostName();
            //会警告GetHostByName()已过期,我运行时且只返回了一个IPv4的地址
            //System.Net.IPAddress[] ipaddress = System.Net.Dns.GetHostByName(iphostname).AddressList;
            // //会返回所有地址,包括IPv4和IPv6  
            System.Net.IPAddress[] ipaddress = System.Net.Dns.GetHostAddresses(iphostname);
            if (ipaddress != null && ipaddress.Length > 0)
            {
                foreach (System.Net.IPAddress ip in ipaddress)
                {
                    this.richTextBox1.Focus();
                    SendKeys.Send(ip.ToString());
                    SendKeys.Send("{ENTER}");
                }
            }
        }


        private void button2_Click(object sender, EventArgs e)
        {
            this.richTextBox1.Clear();
            string iphostname = System.Net.Dns.GetHostName();
            System.Net.IPHostEntry iphostentry = System.Net.Dns.GetHostEntry(iphostname);
            System.Net.IPAddress[] ipaddress = iphostentry.AddressList;
            if (ipaddress != null && ipaddress.Length > 0)
            {
                foreach (System.Net.IPAddress ip in ipaddress)
                {
                    this.richTextBox1.Focus();
                    SendKeys.Send(ip.ToString());
                    SendKeys.Send("{ENTER}");
                }
            }
        }


        private void button3_Click(object sender, EventArgs e)
        {
            this.richTextBox1.Clear();
            System.Diagnostics.Process process = new System.Diagnostics.Process();
            process.StartInfo.FileName = "ipconfig.exe";
            process.StartInfo.Arguments = "/all";
            process.StartInfo.UseShellExecute = false;
            process.StartInfo.RedirectStandardInput = true;
            process.StartInfo.RedirectStandardOutput = true;
            process.StartInfo.RedirectStandardError = true;
            process.StartInfo.CreateNoWindow = true;
            //process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
            //关于:ProcessWindowStyle.Hidden隐藏后如何再显示? 
            //hwndWin32Host = Win32Native.FindWindow(null, win32Exinfo.windowsName); 
            //Win32Native.ShowWindow(hwndWin32Host, 1);
            //先FindWindow找到窗口后再ShowWindow 
            process.Start();
            string xx = process.StandardOutput.ReadToEnd();
            process.WaitForExit();
            process.Close();
            this.richTextBox1.Text = xx;
        }


        private void button4_Click(object sender, EventArgs e)
        {
            this.richTextBox1.Clear();
            string urlLink = "http://ip138.com/";
            //www.ip138.com
            System.Uri url = new Uri(urlLink);
            System.Net.WebRequest request = System.Net.WebRequest.Create(url);
            //System.Net.WebRequest request1 = System.Net.HttpWebRequest.Create(url);
            System.IO.Stream  respon = request.GetResponse().GetResponseStream();
            System.IO.StreamReader read = new System.IO.StreamReader(respon, Encoding.GetEncoding("gb2312"));
            string xxx = read.ReadToEnd();
            int cc = xxx.IndexOf("[");
            int cc1 = xxx.IndexOf("]");
            this.richTextBox1.Text = xxx;
        }
    }

}


运行界面如下


0 0