110,545
社区成员
发帖
与我相关
我的任务
分享
/// <summary>
/// GET方式发送请求
/// </summary>
/// <param name="requestUrl">请求地址</param>
/// <returns>响应字符串</returns>
public string SendRequest( string requestUrl )
{
HttpWebRequest httpWebRequest = ( HttpWebRequest ) WebRequest.Create( requestUrl );
httpWebRequest.Method = "GET";
WebResponse webResponse = httpWebRequest.GetResponse();
StreamReader responseStream = new StreamReader( webResponse.GetResponseStream(), System.Text.Encoding.UTF8 );
_responseStr = responseStream.ReadToEnd();
webResponse.Close();
responseStream.Close();
return _responseStr;
}
public string Lookup(string strDomain)
{
try
{
string result="";
string server="whois.internic.net";
string ext=".com";
int port=43;
int address=-1;
string domain=strDomain.Trim().ToLower();
if(domain.StartsWith("www."))
{
domain=domain.Substring(4,domain.Length-4);
}
if(domain=="" || domain.IndexOf(",")!=-1|| domain.IndexOf(";")!=-1|| domain.IndexOf("_")!=-1|| domain.IndexOf(".")==-1)
{
result="Please enter a valid domain name.";
}
else
{
address=domain.IndexOf(".");
ext=domain.Substring(address);
switch (ext)
{
case ".com":
case ".net":
case ".org":
default:
server="whois.crsnic.net";
//server="whois.internic.net";
break;
case ".biz":
case ".info":
case ".mil":
server="whois.networksolutions.com";
break;
case ".edu":
server="whois.educause.net";
break;
case ".cn":
case ".com.cn":
case ".net.cn":
case ".org.cn":
//case ".gov.cn":
case ".bj.cn":
case ".sh.cn":
case ".tj.cn":
case ".cq.cn":
case ".he.cn":
case ".nm.cn":
case ".ln.cn":
case ".jl.cn":
case ".hl.cn":
case ".js.cn":
case ".zj.cn":
case ".ah.cn":
case ".hb.cn":
case ".hn.cn":
case ".gd.cn":
case ".gx.cn":
case ".hi.cn":
case ".sc.cn":
case ".gz.cn":
case ".yn.cn":
case ".xz.cn":
case ".sn.cn":
case ".gs.cn":
case ".qh.cn":
case ".nx.cn":
case ".xj.cn":
case ".tw.cn":
case ".hk.cn":
case ".mo.cn":
server="whois.cnnic.net.cn";
break;
}
//starting lookup
UTF8Encoding utf8 = new UTF8Encoding();
// Connect to the whois server
TcpClient tcpClient = new TcpClient();
tcpClient.Connect(server,port);
NetworkStream networkStream = tcpClient.GetStream();
// Send the domain name to the whois server
domain=domain.Replace("0x00","");
byte[] buffer=Encoding.GetEncoding("GB2312").GetBytes(domain + "\r\n");
//byte[] buffer = utf8.GetBytes(domain + "\r\n");
networkStream.Write(buffer,0,buffer.Length);
// Read back the results
buffer = new byte[10240];
int i = networkStream.Read(buffer,0,buffer.Length);
while ( i > 0)
{
i = networkStream.Read(buffer,0,buffer.Length);
result += utf8.GetString(buffer);
//result +=Encoding.GetEncoding("GB2312").GetString(buffer);
}
networkStream.Close();
tcpClient.Close();
}
//return the lookup resutlt
result=result.Replace("\u0000","");
return result;
}
catch(Exception e)
{
return e.Message;
//return "Sorry.Lookup is false.Please check the format of domain or internet connection.";
}
}