using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Net.Sockets;
namespace BLL
{
public class Whois
{
/**/
/// <summary>
/// 域名注册查询
/// </summary>
/// <param name="domain">输入域名,不包含www</param>
/// <returns></returns>
public static string Get(string domain)
{
if (domain == null)
throw new ArgumentNullException();
int ccStart = domain.LastIndexOf(".");
if (ccStart < 0 || ccStart == domain.Length)
throw new ArgumentException();
string ret = "";
Socket s = null;
try
{
string cc = domain.Substring(ccStart + 1);
s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
s.Connect(new IPEndPoint(Dns.Resolve(cc + ".whois-servers.net").AddressList[0], 43));
s.Send(Encoding.ASCII.GetBytes(domain + "/r/n"));
byte[] buffer = new byte[1024];
int recv = s.Receive(buffer);
while (recv > 0)
{
ret += Encoding.UTF8.GetString(buffer, 0, recv);
recv = s.Receive(buffer);
}
s.Shutdown(SocketShutdown.Both);
}
catch
{
throw new SocketException();
}
finally
{
if (s != null)
s.Close();
}
return ret;
}
}
}
c# asp.net获取域名whois信息
最新推荐文章于 2021-07-24 18:09:06 发布