界面

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

C#获取ip的示例的更多相关文章

  1. 获取ip

    需要引用System.Web http://stackoverflow.com/questions/4879837/smart-way-to-get-the-public-internet-ip-ad ...

  2. PHP获取IP所在地区(转)

    1.获取IP地址的API新浪的IP地址查询接口:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js新浪多地域测试方法:http:/ ...

  3. node.js使用免费的阿里云ip查询获取ip所在地

    在项目过程中,我们常常需要获取IP的所在地.而这一功能一般都是通过一些数据网站的对外接口来实现,这些接口一般情况下都是付费使用的.在这篇文章中我将记录,基于node.js的阿里云免费IP地址查询接口的 ...

  4. Java如何根据主机名(域名)获取IP地址?

    在Java编程中,如何根据主机名(域名)获取IP地址? 以下示例显示了如何通过net.InetAddress类的InetAddress.getByName()方法将主机名更改为指定的IP地址. pac ...

  5. 用python获取ip信息

    1.138网站 http://user.ip138.com/ip/首次注册后赠送1000次请求,API接口请求格式如下,必须要有token值 import httplib2 from urllib.p ...

  6. 自定义Nginx日志格式获取IP地址的省市份信息

    注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6806672112477012493/ 在linux中nginx日志产生的格式是下面的配置: $remote_add ...

  7. 手把手教你用Java获取IP归属地

    前几个月微信公众号上线了IP归属地的功能,后续知乎.抖音等平台纷纷添加了该功能.如果是国内的用户精确到省份,国外用户精确到国家.本文就使用Java实现获取IP归属地. ! 主要讲解几个步骤: Java ...

  8. windows下获取IP地址的两种方法

    windows下获取IP地址的两种方法: 一种可以获取IPv4和IPv6,但是需要WSAStartup: 一种只能取到IPv4,但是不需要WSAStartup: 如下: 方法一:(可以获取IPv4和I ...

  9. 【PHP开发篇】一个统计客户端商机提交的获取IP地址

    1.对客服提交数据的ip地址记录. 获取ip地址的方法: public function getIP() { global $ip; if (getenv("HTTP_X_REAL_IP&q ...

随机推荐

  1. eclipse下mysql编程

    mysql -uroot -p 密码 1:如果/usr/include/mysql路径下不存在头文件请: apt-get install libmysql++安装开发包 2:程序中添加头文件<m ...

  2. nodejs是单线程

    你不妨先思考一个问题:在单核时代,PHP之类多线程或者多进程的,是怎么处理并发的?是排队吗? 答案是:的确就是排队.但是并不是一定要处理完请求1才能去处理请求2:实际上请求的处理过程中,有很多的时间是 ...

  3. ios技术面试题

    1.Difference between shallow copy and deep copy? 浅复制 只拷贝地址 不拷贝地址指向的对象 深复制 拷贝地址 并且指向拷贝的新对象 2.What is ...

  4. 谁是最好的Coder

    谁是最好的Coder 时间限制:1000 ms  |  内存限制:65535 KB 难度:0   描述 计科班有很多Coder,帅帅想知道自己是不是综合实力最强的coder. 帅帅喜欢帅,所以他选了帅 ...

  5. 编译时IOS Device 无法选择的情况

    问题描述:当你项目开发环境Xocode版本高于你本地Xocode 编译版本时,在本地运行会出现如下错误: 解决:  重写调整Deloyment Target 的版本 注:还有一种情况会出现如上错误,并 ...

  6. 使用jquery控制只能输入数字,并且关闭输入法(转)

    控制文本框只能输入数字是一个很常见的需求,比如电话号码的输入.数量的输入等,这时候就需要我们控制文本框只能输入数字.在用js控制之后在英文输入法的状态下去敲击键盘上的非数字键是输不进去的,然而当你转到 ...

  7. 关于 iOS10 更新后 360 云盘 的上传按钮消失的解决方案

    最近出了iOS10,作为iOS开发者,果断更新. 但是更新完后,打开自己的360云盘,发现想向云盘上传东西,但是传不了,加号按钮不见了. 经过我的研究,原因是 下面的自定义tabbar放置加号按钮的方 ...

  8. 1069: [SCOI2007]最大土地面积 - BZOJ

    Description 在某块平面土地上有N个点,你可以选择其中的任意四个点,将这片土地围起来,当然,你希望这四个点围成的多边形面积最大.Input 第1行一个正整数N,接下来N行,每行2个数x,y, ...

  9. SQLServer调试

    1.普通调试 直接点击SSMS客户端上的调试按钮即可 2.存储过程调试 2.1 定义存储过程(以Northwind数据库为例) USE [Northwind] GO /****** Object: S ...

  10. MyEclipse2015破解版_MyEclipse 2015 stable 2.0 稳定版 破解日志

    前言:在MyEclipse 2015 Stable 1.0下载安装破解日志(http://www.cnblogs.com/wql025/p/5161979.html)一文中,笔者主要讲述了该版本的破解 ...