您的位置:首页 >> 编程开发 >> .NET >> C# >> 正文
C# RSS
 

C#域名查询

http://www.rdxx.com 04年03月01日 09:14 互连网 我要投稿

关键词: 域名查询 , C# , 域名 , 查询

queryinternic.aspx


<% @Page Language="C#" %>
<% @Import Namespace="System.Net.Sockets" %>
<% @Import Namespace="System.Text" %>
<% @Import Namespace="System.IO" %>
<%
TcpClient tcpc = new TcpClient();
try
{
  tcpc.Connect("whois.networksolutions.com", 43);
}
catch(SocketException ex)
{
  Response.Write(ex.ToString());
  Response.End();
}


String strDomain = "gotdotnet.com\r\n";
Byte[] arrDomain = Encoding.ASCII.GetBytes(strDomain.ToCharArray());
 
Stream s = tcpc.GetStream();
s.Write(arrDomain, 0, strDomain.Length);


StreamReader sr = new StreamReader(tcpc.GetStream(), Encoding.ASCII);
string strLine = null;


while (null != (strLine = sr.ReadLine()))
{
   Response.Write(strLine + "<br>");
}


tcpc.Close();
%>


queryregistries.aspx


<% @Page Language="C#" %>
<% @Import Namespace="System.Net.Sockets" %>
<% @Import Namespace="System.Text" %>
<% @Import Namespace="System.IO" %>
<% @Import Namespace="System.Collections" %>
<script language="C#" runat="server">
void doQuery(Object sender, EventArgs e)
{
  String strDomain = txtDomain.Text;
  char[] chSplit = {'.'};
  string[] arrDomain = strDomain.Split(chSplit);
  // es darf genau ein domain name + ein suffix sein
  if (arrDomain.Length != 2)
  {
    return;
  }


  // das suffic darf nur 2 oder 3 zeichen lang sein
  int nLength = arrDomain[1].Length;
  if (nLength != 2 && nLength != 3)
  {
    return;
  }


  Hashtable table = new Hashtable();
  table.Add("at", "whois.nic.at");
  table.Add("de", "whois.denic.de");
  table.Add("be", "whois.dns.be");
  table.Add("gov", "whois.nic.gov");
  table.Add("mil", "whois.nic.mil");


  String strServer = "whois.networksolutions.com";
  if (table.ContainsKey(arrDomain[1]))
  {
    strServer = table[arrDomain[1]].ToString();
  }
  else if (nLength == 2)
  {
    // 2-letter TLD's always default to RIPE in Europe
    strServer = "whois.ripe.net";
  }
 
  String strResponse;
  bool bSuccess = DoWhoisLookup(strDomain, strServer, out strResponse);
  if (bSuccess)
  {
    txtResult.Text = strResponse;
  }
  else
  {
    txtResult.Text = "Lookup failed";
  }
}


bool DoWhoisLookup(String strDomain, String strServer, out String strResponse)
{
  strResponse = "none";
  bool bSuccess = false;


  TcpClient tcpc = new TcpClient();
  try
  {
    tcpc.Connect(strServer, 43);
  }
  catch(SocketException ex)
  {
    strResponse = "Could not connect to Whois server";
    return false;
  }


  strDomain += "\r\n";
  Byte[] arrDomain = Encoding.ASCII.GetBytes(strDomain.ToCharArray());
  try
  {
 Stream s = tcpc.GetStream();
 s.Write(arrDomain, 0, strDomain.Length);
 
 StreamReader sr = new StreamReader(tcpc.GetStream(), Encoding.ASCII);

共2页  1 2


 
 
标签: 域名查询 , C# , 域名 , 查询 打印本文
 
 
  热点搜索
 
 
 



Valid XHTML 1.0 Transitional
Copyright ©2005 - 2008 Rdxx.Com,All Rights Reserved
收藏本页
收藏本站