12 messaggi dal 27 giugno 2015
Stavo creando una procedura per trovare gli assegnatari (Registrant Organization) di una lista di domini (150-200) ed ho trovato un web service (http://www.webservicex.net/whois.asmx/GetWhoIS?HostName=) che interrogato restituisce questa info (non proprio per tutti i domini).
Volevo sapere se c'era qualcosa di più efficiente anche perchè per interrogare e restituire il dato ci impiega parecchio tempo la procedura.

connection();
            SqlCommand command = new SqlCommand("SELECT DISTINCT Dominio FROM sistemistici where Assegnatario IS NULL order by Dominio;",con);
            con.Open();
            SqlDataReader reader = command.ExecuteReader();
            while (reader.Read())
            {
                
            HttpWebRequest webRequest = WebRequest.Create("http://www.webservicex.net/whois.asmx/GetWhoIS?HostName="+ reader.GetString(0)) as HttpWebRequest;

            HttpWebResponse response = webRequest.GetResponse() as HttpWebResponse;

            Stream url = response.GetResponseStream();
            StreamReader reader1 = new StreamReader(url);
       
            string responseFromServer = reader1.ReadToEnd();
            string FirstString = " Organization: ";
            string LastString = " Address: ";
            int Pos1 = responseFromServer.IndexOf(FirstString) + FirstString.Length;
            int Pos2 = responseFromServer.IndexOf(LastString) ;

            Label2.Text = Pos1.ToString();
            Label3.Text = Pos2.ToString();

            if (Pos2 >= 0)
            {
                Label1.Text = responseFromServer.Substring(Pos1, Pos2 - Pos1);
            }
            else
            {
                Label1.Text = "Non trovato!";
            }
                string result = Label1.Text.Trim();

                connection2();
                SqlCommand command1 = new SqlCommand("UPDATE sistemistici set Assegnatario = @result where dominio = @dominio",con2);
                con2.Open();
                command1.Parameters.AddWithValue("@result", result);
                command1.Parameters.AddWithValue("@dominio", reader.GetString(0));
                command1.ExecuteReader();
                con2.Close();
            }

            reader.Close();
            con.Close();

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.