ASP.NET 例程完全代码版(4)——DNS静态类-阿里云开发者社区

开发者社区> 技术小阿哥> 正文

ASP.NET 例程完全代码版(4)——DNS静态类

简介:
+关注继续查看
GetHostAndIP.aspx:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="GetHostAndIP.aspx.cs" Inherits="GetHostAndIP" %>
<html xmlns="[url]http://www.w3.org/1999/xhtml[/url]" >
<body>
    <form id="form1" runat="server">
    <div>
        <table style="width: 925px; height: 180px">
            <tr>
                <td style="width: 44px">
                    <asp:TextBox ID="txtDomain" runat="server"></asp:TextBox></td>
                <td style="width: 3px">
                    <asp:Button ID="btnOK" runat="server" Text="转换为IP地址:" OnClick="btnOK_Click" /></td>
                <td style="width: 116px">
                    &nbsp;<asp:Label ID="lblMsg" runat="server"></asp:Label></td>
            </tr>
            <tr>
                <td style="width: 44px; height: 76px;">
                    <asp:TextBox ID="txtIP" runat="server"></asp:TextBox>&nbsp;
                </td>
                <td style="width: 3px; height: 76px;">
                    <asp:Button ID="Button1" runat="server"   Text="对应域名为:" OnClick="Button1_Click"/></td>
                <td style="width: 116px; height: 76px;">
                    <asp:Label ID="lblDomain" runat="server" Text=""></asp:Label></td>
            </tr>
            <tr>
                <td style="width: 44px; height: 30px;">
                </td>
                <td style="width: 3px; height: 30px;">
                </td>
                <td style="width: 116px; height: 30px;">
                </td>
            </tr>
        </table>    
    </div>
    </form>
</body>
</html>
code behind代码:GetHostAndIP.aspx.cs:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections.Specialized;
using System.Net;
public partial class GetHostAndIP : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        //得到当前浏览器头信息
        NameValueCollection headers = new NameValueCollection();
        headers = Request.Headers;
        string strCookies = null;
        for (int i = 0; i < headers.Count; i++)
        {
            strCookies = headers.GetKey(i);
            Response.Write("<br>Name:" + strCookies + "&nbsp;&nbsp;&nbsp;&nbsp;Value:" + headers.Get(strCookies));
        }
        //得到主机名和IP
        string hostName = Dns.GetHostName();
        IPAddress[] ip = Dns.GetHostAddresses(hostName);
        Response.Write("ServerName :&nbsp" + hostName + "&nbsp;&nbsp;&nbsp;IP:&nbsp&nbsp" + ip[0].ToString());
    }
    protected void btnOK_Click(object sender, EventArgs e)
    {
        IPAddress[] ip = Dns.GetHostAddresses(txtDomain.Text);
        lblMsg.Text = ip[0].ToString();
        //or
        //IPHostEntry hostInfo = Dns.GetHostByName(txtDomain.Text);//gets the DND info for the specified DNS host name
        //lblMsg.Text = hostInfo.AddressList[0].ToString();
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        IPHostEntry hostInfo = Dns.GetHostEntry(txtIP.Text);
        lblDomain.Text = hostInfo.HostName;
    }
}
说明:
IPHostEntry:为 Internet 主机地址信息提供容器类。
程序中用到的属性:
   AddressList  获取或设置与主机关联的 IP 地址列表。 
   HostName     获取或设置主机的 DNS 名称。 
Dns静态类:提供简单的域名解析功能,它从 Internet 域名系统 (DNS) 检索关于特定主机的信息。在 IPHostEntry 类的实例中返回来自 DNS 查询的主机信息。如果指定的主机在 DNS 数据库中有多个入口,则 IPHostEntry 包含多个 IP 地址和别名。


本文转自 august 51CTO博客,原文链接:http://blog.51cto.com/august/6970,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
《圣殿祭司的ASP.NET4.0专家技术手册》----1-11 代码段
代码段英文叫Code Snippet,又称为IntelliSense Code Snippet,它是在Visual Studio程序编辑器中,单击鼠标右键或快捷键就能够选择一堆内建的程序片段。
1311 0
单元测试不可测试那些类(无抽象、静态类、静态方法)
实际上“单元测试不可测试那些类(无抽象、静态类、静态方法)”是个伪命题,因为事实是:无抽象、静态类、静态方法都是不可单元测试的。那么,如果我们要写出可测试的代码,又要用到这些静态类等,该怎么办,实际上我们需要两个步骤: 1:为它们写一个包装类,让这个包装类是抽象的(继承自接口,或者抽象类,或者方法本身是Virtual的); 2:通知客户端程序员,使用包装类来代替原先的静态类来写业务逻辑; 实际上,微软也是这么干的,我在上一篇博文《单元测试WebForm的UI逻辑及文件上传》写到,最典型的不可测试类,那就是WebForm架构的网站中,对Response等的模拟。
582 0
怎么将aspx网站改为静态页面?
首先思路是在后台点击“生成静态页面” 转换为静态页面 protected void Button2_Click(object sender, EventArgs e) { DataSet ds = Getyuqian().
1449 0
linux进程的堆栈空间_代码段(指令,只读)、数据段(静态变量,全局变量)、堆栈段(局部变量)、栈【转】
转自:http://blog.csdn.net/gongweijiao/article/details/8207333 原文参见:http://blog.163.com/xychenbaihu@yeah/blog/static/132229655201215115845553/    一)概述   .堆栈是一个用户空间的内存区域,进程使用堆栈作为临时存储。
797 0
13694
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载