當我搜索域名檢查的開放源代碼時,我得到了這個參考http://www.codeproject.com/KB/aspnet/DataScraping.aspx 其實它是在vb.net我轉換成C#代碼並粘貼代碼在我的網頁我發送總源和代碼獲取域名的詳細信息域名
源代碼
<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 !!";
}
}
}
b UT我在管線70得到錯誤「(第一=‘’;)」 ,並在第78頁 幫助,如果你想在原來的VB代碼,這是參考退房
http://www.codeproject.com/KB/aspnet/DataScraping.aspx
試試看。 VB到C#轉換器 - http://www.developerfusion.com/tools/convert/vb-to-csharp/ – 2009-11-04 06:32:44