在.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. Redis内存模型(1):内存统计及划分

    1. 内存统计 查看命令:info memory 示例: 部分含义: used_memory: Redis分配器分配的内存总量(单位是字节),包括使用的虚拟内存. used_memory_rss: R ...

  2. 【计算机网络】windows修改本机hosts文件

    hosts 文件所在的位置 C:/windows/system32/drivers/etc/hosts 修改后不必重启立即生效的方法 命令行下运行: ipconfig /displaydns 显示所有 ...

  3. Nginx 核心配置-作为上传服务器配置

    Nginx 核心配置-作为上传服务器配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.   一.关键参数说明 client_max_body_size 1m: 设置允许客户端上传单 ...

  4. Candies POJ - 3159

    题目链接:https://vjudge.net/problem/POJ-3159 思路: 能看出是差分约束的题, 我们想假设一个人是 p(1),另一个人是p(2),他们之间糖果差为w, 那么需要满足的 ...

  5. AXIOS 的请求

    AXIOS 本质上等同于json 传值 1.引用 //引入axios import Axios from 'axios' //将axios挂载到 Vue原型上 Vue.prototype.$https ...

  6. LOJ 2085: 洛谷 P1587: bzoj 4652: 「NOI2016」循环之美

    题目传送门:LOJ #2085. 两个月之前做的傻题,还是有必要补一下博客. 题意简述: 求分子为不超过 \(n\) 的正整数,分母为不超过 \(m\) 的正整数的所有互不相等的分数中,有多少在 \( ...

  7. 201871010118-唐敬博《面向对象程序设计(Java)》第二周学习总结

    博文正文开头格式:(3分) 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.co ...

  8. 如何解决飞秋FeiQ绑定端口错误

    今天启动feiQ居然报错,绑定端口2425错误,如您正使用FeiQ或IPMsg,请先退出. error = 10049... 百度谷歌之后,本人如此解决 1.netstat -an 查看端口 2425 ...

  9. Debian 安装docker

    1 $ curl -fsSL get.docker.com -o get-docker.sh 2 $ sudo sh get-docker.sh --mirror Aliyun

  10. three.js 添加三维坐标系

    //显示三维坐标系 ); scene.add(axis);