c# asp.net获取域名whois信息

 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;

        }

    }

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值