Io tempo fà ho trovato questo codice
che funziona egregiamentecodice:<% @Page Language="C#" ResponseEncoding="utf-8" debug="true"%> <% @Import Namespace="System.Net.Sockets" %> <% @Import Namespace="System.Text" %> <% @Import Namespace="System.IO" %> <% @Import Namespace="System.Collections" %> <script language="C#" runat="server"> void doQuery() { String strDomain = Request["dominio"] + Request["tld"]; txtDomain.Text=strDomain; char[] chSplit = {'.'}; string[] arrDomain = strDomain.Split(chSplit); // es darf genau ein domain name + ein suffix sein if (arrDomain.Length > 2) { arrDomain[1]+= '.' + arrDomain[2]; } // das suffic darf nur 2 oder 3 zeichen lang sein int nLength = arrDomain[1].Length; if (nLength >7) { return; } Hashtable table = new Hashtable(); table.Add("at", "whois.nic.at"); table.Add("de", "whois.denic.de"); table.Add("be", "whois.dns.be"); table.Add("gov", "whois.nic.gov"); table.Add("mil", "whois.nic.mil"); table.Add("it", "whois.nic.it"); table.Add("com", "whois.internic.net"); table.Add("info", "whois.nic.info"); table.Add("co.uk", "whois.nic.uk"); table.Add("org.uk", "whois.nic.uk"); table.Add("cc", "whois.nic.cc"); String strServer = "whois.networksolutions.com"; if (table.ContainsKey(arrDomain[1])) { strServer = table[arrDomain[1]].ToString(); } else if (nLength == 2) { // 2-letter TLD's always default to RIPE in Europe strServer = "whois.ripe.net"; } String strResponse; bool bSuccess = DoWhoisLookup(strDomain, strServer, out strResponse); if (bSuccess) { txtResult.Text = strResponse; } else { txtResult.Text = "Lookup failed"; } } bool DoWhoisLookup(String strDomain, String strServer, out String strResponse) { strResponse = "none"; bool bSuccess = false; TcpClient tcpc = new TcpClient(); try { tcpc.Connect(strServer, 43); } catch(SocketException ex) { strResponse = "Could not connect to Whois server"; return false; } strDomain += "\r\n"; Byte[] arrDomain = Encoding.ASCII.GetBytes(strDomain.ToCharArray()); try { Stream s = tcpc.GetStream(); s.Write(arrDomain, 0, strDomain.Length); StreamReader sr = new StreamReader(tcpc.GetStream(), Encoding.ASCII); StringBuilder strBuilder = new StringBuilder(); string strLine = null; while (null != (strLine = sr.ReadLine())) { strBuilder.Append(strLine+" "); } tcpc.Close(); bSuccess = true; string tmp=strBuilder.ToString(); if (tmp.IndexOf("No match")>-1 || tmp.IndexOf("No entries")>-1) { strResponse = "Il Dominio è disponibile. Sei interessato alla registrazione di questo dominio? Contattaci all'indirizzo <a href=mailto:info@omnia.it>info@omnia.it</a> o telefona al numero 095.7796006."; } else { strResponse = "Dominio già registrato "; dettagli.Text=tmp; showlink.Visible=true; } } catch(Exception e) { strResponse = e.ToString(); } return bSuccess; } void Page_Load() { if (!IsPostBack){ doQuery(); } } </script>

Rispondi quotando