• C#域名查询代码


    代码
     1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="WebStat.WebForm2" %>
     2 
     3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     4 
     5 <html xmlns="http://www.w3.org/1999/xhtml" >
     6 <head runat="server">
     7     <title>分享C#域名查询代码</title>
     8 </head>
     9 <body>
    10     <form id="form1" runat="server">
    11     <div>
    12         www.<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><asp:Button ID="Button1"
    13             runat="server" Text="Button" OnClick="Button1_Click" />
    14         <br />
    15         <div runat="server" id="info"></div>
    16         <br />
    17         <div runat="server" id="xml"></div>
    18     </div>
    19     </form>
    20 </body>
    21 </html>
    代码
      1 using System;
      2 using System.Data;
      3 using System.Configuration;
      4 using System.Collections;
      5 using System.Web;
      6 using System.Web.Security;
      7 using System.Web.UI;
      8 using System.Web.UI.WebControls;
      9 using System.Web.UI.WebControls.WebParts;
     10 using System.Web.UI.HtmlControls;
     11 using System.Net.Sockets;
     12 using System.Text;
     13 using System.Net;
     14 using System.IO;
     15 using System.Xml;
     16 
     17 namespace WebStat
     18 {
     19     public partial class WebForm2 : System.Web.UI.Page
     20     {
     21         /// <summary>
     22         /// 
     23         /// </summary>
     24         /// <param name="sender"></param>
     25         /// <param name="e"></param>
     26         protected void Page_Load(object sender, EventArgs e)
     27         {
     28             //查获询域名IP
     29             string strDomain = "www.dupcit.com";
     30             IPHostEntry hostEntry = Dns.Resolve(strDomain);
     31             IPEndPoint IPEndPoint = new IPEndPoint(hostEntry.AddressList[0], 0);          
     32             string ipAddress = IPEndPoint.Address.ToString();
     33             Response.Write("IP:"+ipAddress);
     34 
     35             Response.Write(IsReg(strDomain).ToString());
     36             //这里注意判断是有有来源页面
     37             string refHost = Request.ServerVariables["http_referer"] ;//== null ? "" : HttpContext.Current.Request.UrlReferrer.Host.ToLower(); // HttpContext.Current.Request.UrlReferrer == null ? "" : HttpContext.Current.Request.UrlReferrer.Host.ToLower();
     38             xml.InnerHtml = refHost;
     39 
     40             //if (refHost != "" && refHost.IndexOf("dupcit.com") == -1)//如果是你自己的域名不用统计
     41         
     42             //if (refHost.StartsWith("www.")) refHost = refHost.Substring(4);//去掉www.
     43         }
     44         /// <summary>
     45         /// 
     46         /// </summary>
     47         /// <param name="sender"></param>
     48         /// <param name="e"></param>
     49         protected void Button1_Click(object sender, EventArgs e)
     50         {
     51             string _r = whois(this.TextBox1.Text.Trim());            
     52             //Response.Write(_r);//.Replace("\r\n", "<br>")
     53             info.InnerHtml = _r.ToString();
     54 
     55             //string name1 = "www.dupcit.com";// HttpContext.Current.Server.UrlEncode(TextBox1.Text.Trim());
     56             //WebClient wc = new WebClient();
     57             //string xmlstr = wc.DownloadString("http://panda.www.net.cn/cgi-bin/check.cgi?area_domain=" + name1);
     58             //xml.InnerHtml = xmlstr;
     59             //if (xmlstr.IndexOf("200") > -1)
     60             //{
     61             //    if (xmlstr.IndexOf("210") > -1)
     62             //    {
     63             //        xml.InnerHtml += "可以注册";
     64             //    }
     65             //    else if (xmlstr.IndexOf("211") > -1)
     66             //    {
     67             //        xml.InnerHtml += "已经被注册";
     68             //    }
     69             //    else if (xmlstr.IndexOf("212") > -1)
     70             //    {
     71             //        xml.InnerHtml += "参数错误";
     72             //    }
     73             //    else
     74             //    {
     75             //        xml.InnerHtml += "其他错误";
     76             //    }
     77             //}
     78             //else
     79             //{
     80             //    xml.InnerHtml += "返回出错!";
     81             //}
     82 
     83         }
     84         /**/
     85         /// <summary>
     86         /// 域名注册查询
     87         /// </summary>
     88         /// <param name="domain">输入域名,不包含www</param>
     89         /// <returns></returns>
     90         public static string whois(string domain)
     91         {
     92             if (domain == null)
     93                 throw new ArgumentNullException();
     94             int ccstart = domain.LastIndexOf(".");
     95             if (ccstart < 0 || ccstart == domain.Length)
     96                 throw new ArgumentException();
     97             string ret = "";
     98             Socket s = null;
     99             try
    100             {
    101                 string cc = domain.Substring(ccstart + 1);
    102                 s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
    103                 s.Connect(new IPEndPoint(Dns.Resolve(cc + ".whois-servers.net").AddressList[0], 43));
    104                 s.Send(Encoding.ASCII.GetBytes(domain + "\r\n"));
    105                 byte[] buffer = new byte[1024];
    106                 int recv = s.Receive(buffer);
    107                 while (recv > 0)
    108                 {
    109                     ret += Encoding.ASCII.GetString(buffer, 0, recv);
    110                     recv = s.Receive(buffer);
    111                 }
    112                 s.Shutdown(SocketShutdown.Both);
    113             }
    114             catch
    115             {
    116                 throw new SocketException();
    117             }
    118             finally
    119             {
    120                 if (s != null)
    121                     s.Close();
    122             }
    123             return ret;
    124         }
    125         /// <summary>
    126         /// 
    127         /// </summary>
    128         /// <param name="domainName"></param>
    129         /// <returns></returns>
    130       public static bool IsReg(string domainName)
    131      {
    132         bool flag = false;
    133         string dm = HttpContext.Current.Server.UrlEncode(domainName);
    134         try
    135         {
    136         //判断方法非常多,如打开远程文件再处理字符串等等,这里用的方法效率不是很高
    137             WebClient wc = new WebClient();
    138             string xmlstr = wc.DownloadString("http://panda.www.net.cn/cgi-bin/check.cgi?area_domain=" + dm);
    139             StringReader sr = new StringReader(xmlstr);
    140             XmlTextReader xr = new XmlTextReader(sr);            
    141             while (xr.Read())
    142             {
    143                 if (xr.IsStartElement("original"))
    144                 {
    145                     xr.Read();
    146                     if (xr.Value.Substring(03== "210")
    147                     {
    148                         flag = true;
    149                         break;
    150                     }
    151                     else
    152                     {
    153                         flag = false;
    154                         break;
    155                     }
    156                 }
    157             }
    158             return flag;
    159         }
    160         catch
    161        {
    162             return false;
    163         }
    164     }
    165     }
    166 }
    167 
  • 相关阅读:
    springboot2 pagehelper 使用笔记
    MySql实现分页查询的SQL,mysql实现分页查询的sql语句 (转)
    浅谈PageHelper插件分页实现原理及大数据量下SQL查询效率问题解决
    idea设置JVM运行参数
    java.lang.OutOfMemoryError: Java heap space内存不足问题
    lasticsearch最佳实践之分片使用优化
    Elasticsearch分片优化
    ELASTICSEARCH 搜索的评分机制
    elasticsearch基本概念与查询语法
    mysql 用户及权限管理 小结
  • 原文地址:https://www.cnblogs.com/geovindu/p/1907025.html
Copyright © 2020-2023  润新知