C#根据域名查询IP(CMD命令参数输入或者启动程序后再输入查询)
有时因为需要,希望知道域名的IP,那用C#怎么实现呢?以下是实现代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net; namespace IPSearch
{
class Program
{
static void Main(string[] args)
{
string www = "";
if (args.Length > 0)
{
www = args[0];
if (string.IsNullOrEmpty(www) || string.IsNullOrWhiteSpace(www))
{
Console.WriteLine("Input is empty!");
www = inputWWW();
}
}
else
{
www = inputWWW();
}
Console.WriteLine("Search...");
while (true)
{
IPAddress[] ipAddresses = null;
try
{
ipAddresses = Dns.GetHostAddresses(formatWWW(www));//Important.
}
catch (System.Exception ex)
{
Console.WriteLine(ex.Message);
www = inputWWW();
continue;
}
foreach (IPAddress ipAddress in ipAddresses)
{
Console.WriteLine(ipAddress.ToString());
}
Console.WriteLine("Search Completed!");
Console.WriteLine("Q:Quit.Other key:Continue.");
www = Console.ReadLine();
if (www.ToUpper().Equals("Q"))
{
break;
}
else
{
www = inputWWW();
}
}
} private static string inputWWW()
{
Console.WriteLine("Input www");
string www = Console.ReadLine();
if (string.IsNullOrEmpty(www) || string.IsNullOrWhiteSpace(www))
{
Console.WriteLine("Input is empty!If you want to exit,please input Q!");
www = Console.ReadLine();
if (www.ToUpper().Equals("Q"))
{
Environment.Exit(1);
}
www = inputWWW();
}
return www;
} private static string formatWWW(string www)
{
if (string.IsNullOrEmpty(www) || string.IsNullOrWhiteSpace(www))
{
return "";
}
string newWWW = www.ToUpper().Replace("HTTP://", "");
newWWW = newWWW.Split('/')[0];
return newWWW;
}
}
}
使用方式如下:(假定上面的代码编译的程序名为IPSearch.exe)
1.使用命令参数查询:打开CMD命令后,输入程序路径,再输入空格,然后输入域名查询。具体参见下图红色部分。
如果不想输入路径,可以将IPSearch.exe的路径配置成环境变量。
WIN7中配置方法为:
我的电脑->右键->属性->高级系统设置->环境变量->双击系统变量下的Path->填入IPSearch.exe的路径(与前面的路径需用分号隔开)->确定(编辑系统变量)->确定(环境变量)->确定(系统属性)
具体可参见下图红色部分,自左向右操作。
设置好环境变量后,就可以不输入路径,直接查询。见下图。
2.启动程序后直接查询,参见下图
转载请注明出处http://blog.csdn.net/xxdddail/article/details/9379719
C#根据域名查询IP(CMD命令参数输入或者启动程序后再输入查询)的更多相关文章
- cmd命令行带参启动程序
cmd命令行带参启动程序 有一些程序不支持被直接启动,编写代码时,我们可以通过Process类来启动某个进程(某个软件),在不用代码调从而启动某个软件时,windows系统下,通常我们会用到cmd命令 ...
- 如果是在有master上开启了该参数,记得在slave端也要开启这个参数(salve需要stop后再重新start),否则在master上创建函数会导致replaction中断。
如果是在有master上开启了该参数,记得在slave端也要开启这个参数(salve需要stop后再重新start),否则在master上创建函数会导致replaction中断.
- 在windows系统和linux系统中查询IP地址命令的不同
在linux和windows系统上查询IP地址的命令是不一样的. 在linux中的命令行模式下,输入ifconfig即可查询到IP.而在windows系统下要查询IP地址需要先打开do ...
- ASP.NET Core:CMD命令行+记事本 创建Console程序和Web Application
今天看了Scott关于ASP.NET Core的介绍视频,发现用命令行一步一步新建项目.添加Package.Restore.Build.Run 执行的实现方式,更让容易让我们了解.NET Core的运 ...
- 使用CMD命令编译和运行Java程序
对于初学者来说,使用CMD命令(Unix以及类Unix系统采用Termial)来编译和运行Java的好处是让初学者直观地体会到编译(Compile)这一步骤,加深记忆.所谓编译就是将文本文件xxx.j ...
- Linux下chkconfig命令详解--(启动或停止)和查询系统服务的运行级信息
chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 使用语法:chkconfig [--ad ...
- Python安装后在CMD命令行下出现“应用程序无法启动.............”问题
问题存在之一:系统是刚刚重做的精简版服务器系统(阉割版) AN就是在阿里云上刚开的Windows Server 2008 系统上碰到的 吓尿了都 症状: 正常安装python环 ...
- 使用cmd命令打开Python文件式程序方法
首先:需要确定已编好的Python程序的存储路径:(即在哪个磁盘,哪个文件中) 其次:打开cmd命令,输入该程序所在磁盘,敲回车键:(例如其存储在E盘,则输入“E:”,敲回车键.) 然后:输入pyth ...
- 在windows中用cmd命令执行python无限循环程序如何停止
在windows中用cmd命令测试python带有无限循环的程序,当想要终止时, 即linux中的Ctrl + D 相似的功能时可以用 Ctrl + Pause Break, 有FN功能键的可能要使用 ...
随机推荐
- 如何开始一个模块化可扩展的Web App(转)
原文链接:http://avnpc.com/pages/start-a-modular-extensible-webapp 日志未经声明,均为AlloVince原创.版权采用『 知识共享署名-非商业性 ...
- php单元測试
你是否在程序开发的过程中遇到下面的情况:当你花了非常长的时间开发一个应用后,你觉得应该是大功告成了,可惜在调试的时候,老是不断的发现bug,并且最可怕的是,这些bug是反复出现的,你可能发现这些bug ...
- 《数字图像处理原理与实践(MATLAB版)》一书之代码Part6
本文系<数字图像处理原理与实践(MATLAB版)>一书之代码系列的Part6,辑录该书第281至第374页之代码,供有须要读者下载研究使用.代码运行结果请參见原书配图,建议下载代码前阅读下 ...
- Java学习之位运算和逻辑运算符
今天看了一下HashMap类的源码,在HashMap的源码中定义了初始空间的大小 static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; 当 ...
- STM32之中断与事件---中断与事件的区别
STM32之中断与事件---中断与事件的区别 http://blog.csdn.net/flydream0/article/details/8208463 这张图是一条外部中断线或外部事件线的示意图 ...
- [C#参考]byte数组和Image的相互转换
功能需求 1.把一张图片(png bmp jpeg bmp gif)转换为byte数组在内存中操作. 2.把内存中的byte数组转换成Image对象,赋值给相应的控件显示. 3.从图片byte数组得到 ...
- java虚拟机内存溢出各种场景总结
java堆溢出 java堆用于存储对象实例,只要不断地创建对象,并且保证gc roots到对象之间有可达路径来避免垃圾回收机制来清楚这些对象,那么在 对象到达最大堆的容量限制后就会产生内存溢出溢出. ...
- Startup 和 Middleware(中间件)
Startup 和 Middleware(中间件) ASP.NET Core 运行原理剖析2:Startup 和 Middleware(中间件) Startup Class 1.Startup Con ...
- c++ 复制构造函数和赋值函数
c++ 自动提供了下面这些成员函数 1默认构造函数 2.复制构造函数 3.赋值操作符 4.默认析构函数 5.地址操作符 赋值构造函数copy construtor 用于将一个对象复制到新创建的对象中, ...
- 【C++继承与派生之二】有子对象的派生类的构造函数
这是我今天看书刚刚看到的,觉着以前对这一块内容了解不多,所以整理一下分享给大家.首先要介绍一下子对象的概念.类的数据成员不仅可以是int.char这样的基本类型,也可以是类对象,如可以包含这样的数据成 ...