在.NET Core中我们可以用System.Net.Dns类来解析域名或主机名的IP地址,我们新建一个.NET Core控制台项目,写入下面代码:

using System;
using System.Net; namespace NetCoreDns
{
class Program
{
static void Main(string[] args)
{
string remoteHostName = string.Empty; Console.Write("请输入要解析的域名或主机名:");
remoteHostName = Console.ReadLine(); IPAddress[] ips = null; try
{
ips = Dns.GetHostAddresses(remoteHostName);//Dns.GetHostAddresses方法根据传入的域名或主机名,获取绑定的IP地址
}
catch (System.Net.Sockets.SocketException sex)//如果Dns.GetHostAddresses方法解析域名或主机名的IP地址失败,会抛出SocketException异常
{
Console.WriteLine($"域名或主机名{remoteHostName}无法被成功解析!");
} if (ips != null && ips.Length >= )
{
Console.WriteLine("该域名或主机名的IP地址如下:"); foreach (var ip in ips)
{
Console.WriteLine(ip.ToString());//循环显示获取到的所有IP地址
}
} Console.WriteLine($"本机名为:{Dns.GetHostName()}");//Dns.GetHostName方法获取本机名
Console.WriteLine($"根据指定的主机名获取DNS信息:{Dns.GetHostEntry(Dns.GetHostName()).HostName}");//Dns.GetHostEntry方法根据指定的主机名获取DNS信息 Console.WriteLine("按任意键结束程序运行...");
Console.ReadKey();
}
}
}

运行代码,我们输入百度的域名:www.baidu.com,结果如下:

我们在Web浏览器中输入获取到的IP地址:61.135.169.121,可以访问到百度的首页:

所以,这样我们就可以成功解析域名或主机名的IP地址了。

.NET Core解析DNS域名或主机名的方法的更多相关文章

  1. 通过获取DNS解析的未转义主机名,区分测试环境和正式环境代码

    ASP.Net编程中经常有一些代码,测试环境下需要执行,而正式环境下不需要执行(或者反之). 我们经常做的方式是:去掉注释,测试,再注释,再编译上传(或者反之). 现在,不妨试试以下办法: Reque ...

  2. gethostbyname() -- 用域名或主机名获取IP地址

    #include <netdb.h>    #include <sys/socket.h> struct hostent *gethostbyname(const char * ...

  3. (转)gethostbyname() -- 用域名或主机名获取IP地址

    struct hostent *gethostbyname(const char *name); 这个函数的传入值是域名或者主机名,例如"www.google.cn"等等.传出值, ...

  4. 域名、主机名与URL

    什么是域名? google.com.baidu.com.163.com等. 域名.主机名与URL例子 例子1: http://mail.163.com/index.html 1)http://:这个是 ...

  5. linux修改主机名的方法

    linux修改主机名的方法 用hostname命令可以临时修改机器名,但机器重新启动之后就会恢复原来的值. #hostname   //查看机器名#hostname -i  //查看本机器名对应的ip ...

  6. 组态DNS、搜索域名和主机名

    一个.组态DNS和搜索领域 特别配置DNS该文件是/etc/resolv.conf:同时,我们可以ifcfg-eth0网卡的配置和其他配置文件中指定的. 演示样本: [root@instructor ...

  7. 域名、主机名、网站名以及 URL 基础概念

    这个东西,在百度经验上已经有人讲得非常清楚了, 作为 web 方向的小白, 我写下我的理解,以便日后查看. 以 https:// www.3vjia.com 为例, 见下图: DNS (Domain ...

  8. Linux命令行修改IP、网关、DNS、主机名 的方法

    修改主机名:[改里面的 HOSTNAME 即可] vim /etc/sysconfig/network 网卡eth0    IP修改为 102.168.0.1 ifconfig eth0 102.16 ...

  9. centos7 修改主机名的方法(在centos7有效)

    参考链接:http://www.centoscn.com/CentOS/config/2014/1031/4039.html 在CentOS或RHEL中,有三种定义的主机名:a.静态的(static) ...

随机推荐

  1. generator 1(2019年牛客多校第五场B题+十进制矩阵快速幂)

    目录 题目链接 思路 代码 题目链接 传送门 思路 十进制矩阵快速幂. 代码 #include <set> #include <map> #include <deque& ...

  2. linux之shell脚本学习(一)

    #!/bin/bash echo 'hello' your_name='longxiong' echo $your_name echo ${your_name} for i in `ls /opt`; ...

  3. Resource Site

    GameDevMarket.net Collection of Music, Sound effects (sfx), 2D/3D/GUI Art. http://gaurav.munjal.us/U ...

  4. centos定时删除log文件

    #!bin/bash #获取年 time=$(date "+%Y") #查找并删除7天前的文件 find /opt/applog/travelsky -type f -mtime ...

  5. ES6异步操作Promise

    什么是Promise Promise是异步编程的一种解决方案,说白了就是一个构造函数,带有all,reject,resolve这几个方法,圆形上有then,catch等方法 Promise的特点 对象 ...

  6. contest5 CF991 div2 ooooxx ooooox ooooox

    题意 div2D 给出一个棋盘, 有一些点不能放, 总共\(2\)排, 长度\(n(\le 100)\) 在上面空位摆放\('L'\)字形的牌, 问最多能放几个 例如: 00X00X0XXX0 0XX ...

  7. [RN] React Native代码转换成微信小程序代码的转换引擎工具

    React Native代码转换成微信小程序代码的转换引擎工具 https://github.com/areslabs/alita

  8. 你好,我叫Flask

    首先,要看你学没学过Django 如果学过Django 的同学,请从头看到尾,如果没有学过Django的同学,并且不想学习Django的同学,轻饶过第一部分 一. Python 现阶段三大主流Web框 ...

  9. IOCP陷阱

    1. AcceptEx 10061 客户端循环连接,没有发送数据,一定次数后,连接失败,WSAGetLastError的结果是10061.并且后续无法再次连接. 这是因为其中的一个参数,详细用法参考I ...

  10. SharePoint - Another Way to Delete Site Collection

    I had created a site collection. But there is a problem of web-frontend server (I did not know when ...