.NET Core解析DNS域名或主机名的方法
在.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域名或主机名的方法的更多相关文章
- 通过获取DNS解析的未转义主机名,区分测试环境和正式环境代码
ASP.Net编程中经常有一些代码,测试环境下需要执行,而正式环境下不需要执行(或者反之). 我们经常做的方式是:去掉注释,测试,再注释,再编译上传(或者反之). 现在,不妨试试以下办法: Reque ...
- gethostbyname() -- 用域名或主机名获取IP地址
#include <netdb.h> #include <sys/socket.h> struct hostent *gethostbyname(const char * ...
- (转)gethostbyname() -- 用域名或主机名获取IP地址
struct hostent *gethostbyname(const char *name); 这个函数的传入值是域名或者主机名,例如"www.google.cn"等等.传出值, ...
- 域名、主机名与URL
什么是域名? google.com.baidu.com.163.com等. 域名.主机名与URL例子 例子1: http://mail.163.com/index.html 1)http://:这个是 ...
- linux修改主机名的方法
linux修改主机名的方法 用hostname命令可以临时修改机器名,但机器重新启动之后就会恢复原来的值. #hostname //查看机器名#hostname -i //查看本机器名对应的ip ...
- 组态DNS、搜索域名和主机名
一个.组态DNS和搜索领域 特别配置DNS该文件是/etc/resolv.conf:同时,我们可以ifcfg-eth0网卡的配置和其他配置文件中指定的. 演示样本: [root@instructor ...
- 域名、主机名、网站名以及 URL 基础概念
这个东西,在百度经验上已经有人讲得非常清楚了, 作为 web 方向的小白, 我写下我的理解,以便日后查看. 以 https:// www.3vjia.com 为例, 见下图: DNS (Domain ...
- Linux命令行修改IP、网关、DNS、主机名 的方法
修改主机名:[改里面的 HOSTNAME 即可] vim /etc/sysconfig/network 网卡eth0 IP修改为 102.168.0.1 ifconfig eth0 102.16 ...
- centos7 修改主机名的方法(在centos7有效)
参考链接:http://www.centoscn.com/CentOS/config/2014/1031/4039.html 在CentOS或RHEL中,有三种定义的主机名:a.静态的(static) ...
随机推荐
- json序列化时间日期数据注意
通过json序列化时间日期格式数据的时候需要注意,不能直接序列化,我写了一个类,可以借用 import json from datetime import datetime,date a = {'na ...
- 团队第五次——Alpha2的发布
这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/2019autumnsystemanalysisanddesign/ 这个作业要求在哪里 https:// ...
- uiautomatorviewer
uiautomatorviewer路径 /usr/local/Caskroom/android-platform-tools/29.0.1/tools/bin
- 03-C#笔记-数据类型
--- # 1 数据类型 --- ## 1 和C++不同的数据类型: byte: 8位,0~255 decimal:范围大于double,128位 sbyte: 8位,-128~127 uint 32 ...
- cmd 计划任务
Schtasks /create /sc ScheduleType /tn TaskName /tr TaskRun [/s Computer [/u [Domain\]User [/p Passwo ...
- vue社区活跃整合
===框架===== Nuxt(vue ssr服务端渲染) Quasar Framework 一个可以搭建多平台响应式网站的框架 Weex 是一个使用 Web 开发体验来开发高性能原生应用的框架. = ...
- map函数怎么用咧↓↓↓
Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作! 1. map最基本的构造函数: map<st ...
- 2018-2019-2 网络对抗技术 20165230 Exp8 Web基础
目录 实验目的 实验内容 实验步骤 (一)Web前端HTML Apache HTML编程 (二) Web前端javascipt 基础知识理解 JavaScript编程 (三)Web后端:MySQL基础 ...
- [Gamma阶段]测试报告
[Gamma阶段]测试报告 博客目录 测试方法及过程 在正式发布前,为检验后端各接口功能的正确性,后端服务器对压力的耐受程度,以及前端各页面.功能的运行情况,我们对我们的服务器及小程序进行了多种测试. ...
- Prometheus 介绍
我们知道zabbix在监控界占有不可撼动的地位,功能强大.但是对容器监控显得力不从心.为解决监控容器的问题,引入了prometheus技术.prometheus号称是下一代监控.接下来的文章打算围绕p ...