Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    27

    Nome del computer con Java

    Ciao a tutti,
    avrei bisogno di conoscere il nome del computer del visitatore che si collega al mio sito.

    Pensavo di implementare un applet Java per questo scopo.
    Qui sotto vi scrivo il codice che ho cercato di utilizzare.
    Funziona perfettamente come programma stand-alone ma non
    riesco a trasformarlo in applet.

    Premetto che sono un programmatore Visual Basic e sto
    iniziando adesso con Java..
    Qualsiasi idea, anche completamente diversa è ben accetta

    Grazie in anticipo

    codice:
    /*L'idea è quella di caricare in un buffer il risultato del comando "ipconfig /all", ciclare il buffer
     e individuare la riga con il nome della macchina*/
    
    import java.io.*;
    import java.util.*;
    
    public class GetHostName
    {
            public static void main(String[] args) throws IOException
            {
                    System.out.println(getMachinesMAC());
            }
            public static String getMachinesMAC() throws IOException
            {
            String sendback=null;
            Process proc = Runtime.getRuntime().exec("ipconfig /all");
            InputStream istr = proc.getInputStream();
            BufferedReader br =new BufferedReader(new InputStreamReader(istr));
            String str;
            int tokens = 0;
            while ((str = br.readLine()) != null)
                    {
                    StringTokenizer st = new StringTokenizer(str);
                    tokens = st.countTokens();
                    if(tokens > 1)
                            {String temp = st.nextToken();
                                    //lista = lista + '\n' + temp;
                                    if(temp.equals("Nome"))
                                            {
                                                /*for(int i=0; i<16;i++)
                                                    temp=st.nextToken();
                                                    if (temp.equals(":"))
                                                    {
                                                        temp=st.nextToken();
                                                        sendback=temp;
                                                 }
                                                 }*/
    
                                            while (temp.equals(":")==false)
                                            {
                                                temp=st.nextToken();
                                            }
                                            temp=st.nextToken();
                                            sendback=temp;
    
                                            }
                             }
                    }
                    try {proc.waitFor();}
                    catch (InterruptedException e)
                            {System.err.println("process was interrupted");}
                    br.close();
            return sendback;
            }
    }

  2. #2
    a te serve il nome della macchina o il nome dell'utente loggato?
    cmq in un applet NON puoi eseguire process!
    DYNAMIC+ [ E-mail ]

    Secondo me non si può fare!

  3. #3
    Utente di HTML.it L'avatar di Mods
    Registrato dal
    Jun 2004
    Messaggi
    302
    non è un applet quello ke ti serve. Dovresti farlo in PHP od ASP, o ASP .NET
    Ci sono 10 tipi di persone al mondo: quelli che conoscono il codice binario, e quelli che non lo conoscono!

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    27
    Originariamente inviato da DYNAM!C+
    a te serve il nome della macchina o il nome dell'utente loggato?
    cmq in un applet NON puoi eseguire process!
    Grazie dell'informazione!
    Mi servirebbe il nome della macchina
    o un qualsiasi dato univoco che mi permetta di identificare l'accesso di un client al mio sito.
    L'ip della macchina non va bene perchè potrebbe essere dinamico..

    Originariamente inviato da Mods
    non è un applet quello ke ti serve. Dovresti farlo in PHP od ASP, o ASP .NET
    Ho capito. Il problema è che non posso usare ASP
    perchè abbiamo solo server Apache.
    Avevo cercato anche in PHP ma riesco ad ottenere al massimo l'ip del client.

    Spero in qualche vostro consiglio!
    Ciao e grazie ancora

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Originariamente inviato da Marco 01
    L'ip della macchina non va bene perchè potrebbe essere dinamico..
    E dato che ognuno può dare che nome vuole alla macchina, nemmeno questo andrà bene: se ci sono due utenti che si chiamano "MARIO" ed entrambi hanno dato questo nome alla loro macchina (cosa che rappresenta quasi la regola nelle aziende), ecco che perdi l'univocità.

    Non a caso, per questo genere di necessità, si limita l'accesso al sito ai soli utenti registrati, fornendo una chiave univoca (data da un progressivo o dal NomeUtente).


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  6. #6
    cmq il mac-address va piu' che bene...
    il problema è ke non puoi far eseguire exe da java
    DYNAMIC+ [ E-mail ]

    Secondo me non si può fare!

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    27
    Originariamente inviato da LeleFT
    E dato che ognuno può dare che nome vuole alla macchina, nemmeno questo andrà bene: se ci sono due utenti che si chiamano "MARIO" ed entrambi hanno dato questo nome alla loro macchina (cosa che rappresenta quasi la regola nelle aziende), ecco che perdi l'univocità.

    Non a caso, per questo genere di necessità, si limita l'accesso al sito ai soli utenti registrati, fornendo una chiave univoca (data da un progressivo o dal NomeUtente).


    Ciao.
    In effetti hai ragione, non è detto che il nome del computer sia sempre univoco.. (anche se non cercavo di ottenere
    la perfezione assoluta nella statistica finale)

    Si tratta di un sito che ho creato per un cliente.
    Il sito offre varie informazioni e utility per degli
    enti pubblici.
    Il cliente chiede di conoscere quali sono gli enti che
    utilizzano i servizi che gli ha messo a disposizione
    e mi ha chiesto questa statistica.
    Il problema è che non volevamo disturbare gli utenti
    con registrazioni o form di login ogni volta che accedono al sito. Per questo cercavo l'automatismo..

    Hai qualche idea?
    Grazie ancora


  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    27
    Originariamente inviato da DYNAM!C+
    cmq il mac-address va piu' che bene...
    il problema è ke non puoi far eseguire exe da java
    Infatti il mac è sicuramente il dato migliore.
    Mi sto anche rendendo conto che java non è la strada giusta!

    Alternative?
    Ciao grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.