当我搜索域检查器的开源时,我得到了这个参考http://www.codeproject.com/KB/aspnet/DataScraping.aspx 实际上它在 vb.net 我转换成 c# 代码并将代码粘贴到我的 web我发送总源代码和代码的页面
源代码
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<TABLE id="Table1" cellSpacing="0" cellPadding="0" width="358" border="0">
<TR>
<TD>
<asp:Label id="Label2" Runat="server">www.</asp:Label>
<asp:TextBox id="txtDomain" Runat="server">
Check Domain</asp:TextBox></TD>
<TD>
<asp:Button id="btnQuery" Text="Check Domain" Runat="server" OnClick="btnQuery_Click1">
</asp:Button></TD>
</TR>
<TR>
<TD>
<asp:Label id="txtResult" Runat="server"></asp:Label></TD>
<TD></TD>
</TR>
</TABLE>
</form>
</body>
</html>
C# 代码
//code
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Net.Sockets;
using System.Text;
using System.IO;
using System.Net;
using System.Text.RegularExpressions;
public partial class _Default : System.Web.UI.Page
{
//protected System.Web.UI.WebControls.Label Label1;
//protected System.Web.UI.WebControls.Button btnQuery;
//protected System.Web.UI.WebControls.Label txtResult;
//protected System.Web.UI.WebControls.Label Label2;
//protected System.Web.UI.WebControls.TextBox txtDomain;
protected void Page_Load(object sender, EventArgs e)
{
txtDomain.Attributes.Add("onclick", "this.value='';");
}
private void btnQuery_Click(System.Object sender, System.EventArgs e)
{
// Stores the bufData extracted from the webclient
string firstLevelbufData = null;
try
{
// similarly we can select any server address for bufData mining
string strURL = "http://www.directnic.com/whois/index.php?query=" + txtDomain.Text;
WebClient web = new WebClient();
// byte array to store the extracted bufData by webclient
byte[] bufData = null;
bufData = web.DownloadData(strURL);
// got the bufData now convert it into string form
firstLevelbufData = Encoding.Default.GetString(bufData);
}
catch (System.Net.WebException ex)
{
// this exception will be fired when the host name
// is not resolved or any other connection problem
txtResult.Text = ex.Message;
return;
}
try
{
// first and last are the regular expression string
// for extraction bufData witnin two tags
// you can change according to your requirement
string first = null;
string last = null;
first = "<p class= " + Strings.Chr(34) + "text12" + Strings.Chr(34) + ">";
last = "</p>";
Regex RE = new Regex(first + "(?<MYDATA>.*?(?=" + last + "))", RegexOptions.IgnoreCase | RegexOptions.Singleline);
// try to extract the bufData within the first and last tag
Match m = RE.Match(firstLevelbufData);
// got the result
txtResult.Text = m.Groups("MYDATA").Value + "";
// check if no information abour that domain is available
if (txtResult.Text.Length < 10) txtResult.Text = "Information about this domain is not available !!";
}
catch (Exception e3)
{
txtResult.Text = "Sorry the whois information" + " is currently not available !!";
}
}
}
但我在第 70 行 "(first = "";)" 遇到错误,如果您想要原始 vb 代码,请在第 78 页提供帮助,这是参考检查