2009-11-04 3 views
1

quand je recherche open source pour le vérificateur de domaine, j'ai obtenu cette référence http://www.codeproject.com/KB/aspnet/DataScraping.aspx en fait il est en vb.net je convertis en code C# et collez le code dans ma page web je l'envoie source totale et le codeGet WhoIs détails pour Domain-name

code source

<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

//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 je reçois une erreur à la ligne 70 "(première = "";)" et à la page 78 aider à être si vous voulez que le code vb original Le chèque de référence sur

http://www.codeproject.com/KB/aspnet/DataScraping.aspx

+0

Faites un essai. VB à C# convertisseur - http://www.developerfusion.com/tools/convert/vb-to-csharp/ –

Répondre

2
using System.Net.Sockets; 
using System.Text; 
using System.IO; 
using System.Collections; 
using System.Net; 
using System.Text.RegularExpressions; 


public partial class WhoIsC : System.Web.UI.Page 
{ 

    #region " Web Form Designer Generated Code " 

    //This call is required by the Web Form Designer. 
    [System.Diagnostics.DebuggerStepThrough()] 
    private void InitializeComponent() 
    { 

    } 

    protected void // ERROR: Handles clauses are not supported in C# 
Page_Init(System.Object sender, System.EventArgs e) 
    { 
     //CODEGEN: This method call is required by the Web Form Designer 
     //Do not modify it using the code editor. 
     InitializeComponent(); 
    } 

    #endregion 

    private void // ERROR: Handles clauses are not supported in C# 
Page_Load(System.Object sender, System.EventArgs e) 
    { 
     // Adds the java script code for clearing the existing text from the text box when user wants to 
     // enter a new domain name 
     txtDomain.Attributes.Add("onclick", "this.value='';"); 
    } 

    public void // ERROR: Handles clauses are not supported in C# 
btnQuery_Click(System.Object sender, System.EventArgs e) 
    { 
     string firstLevelbufData = null; 
     // Stores the bufData extracted from the webclient 
     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.ToString(); 
      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; 
      // chr(34) is used for (") symbol 
      first = "<p class=\"text12\">"; 
      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 + "<br>"; 
      // check if no information abour that domain is available 
      if (txtResult.Text.Length < 10) txtResult.Text = "Information about this domain is not available !!"; 
     } 
     catch (System.Net.WebException ex) 
     { 
      txtResult.Text = "Sorry the whois information is currently not available !!"; 
     } 
    } 

} 
+0

Ya ça fonctionne bien merci beaucoup M.Surajitkhamrai –

+0

Salut Mr.surjitkhamrai vous code r fonctionne bien, mais il n'est pas obtenir les détails des domaines comme '.co', '.' dans les domaines qu'il donne "Désolé l'information n'est pas disponible actuellement !!". j'ai besoin des informations de domaine qui est dans le domaine .co, .in noms de domaine comme 'axisbank.co.in' il n'y a pas d'information aidez-moi s'il vous plaît –

Questions connexes