Çözüldü JavaScript bilgisayarın adını öğrenme

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

behzat_c

Hectopat
Katılım
28 Kasım 2020
Mesajlar
893
Çözümler
6
Daha fazla  
Cinsiyet
Erkek
Node.js'da kullanıcının bilgisayarının adını nasıl öğrenebilirim? Fotoğraftaki gibi.

1653069546353.png
 
require('os').networkInterfaces() objesi içinde cihaz cihaz olması lazım ama bunu public bir sunucuda çalıştıramazsın, cloud hosting ve lokalde çalışır sadece. Güvenlik açığından ötürü kapatıyorlar.
Kendi cihazımda çalıştırıyorum zaten ama çıktı Object Object oldu.
1653071607190.png

1653071647767.png
 
@behzat_c zaten o bir obje, console.log ile çıktısına bakıp ona göre incelemen lazım.
Burdan webhooka gönderiyorum ben bilgileri o yüzden sadece mac adressleri lazım.

Bir c# örneği
C#:
 public static string macAdresses() // grab mac adresses
        {
            string s = "";
            int num = 1;

            foreach (NetworkInterface networkInterface in NetworkInterface.GetAllNetworkInterfaces())
            {
                if (networkInterface.OperationalStatus == OperationalStatus.Up)
                {
                    s += "\n";
                    s += num.ToString() + "- ";
                    s += networkInterface.GetPhysicalAddress().ToString();
                    ++num;
                    break;
                }
            }

            s += "\n";
            s += num.ToString() + "- ";
            ++num;

            foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces())
            {
                s += "\n";
                s += num.ToString() + "- ";
                s += nic.GetPhysicalAddress().ToString();
                ++num;
            }
            return s;
        }

1653071936286.png


Tabi ben js ye dün başladığım için nasıl yapacağımı bilemiyorum. Yardımınızı bekliyorum.
 
Buradan webhooka gönderiyorum ben bilgileri o yüzden sadece mac adresleri lazım.
Tamam işte objeyi parse edip alabilirsin, listeden map metodu ile alırsın. console.loglayıp bir sonucu gör. İlla ki satır satır kodu mu yazayım? :D
Tabi ben JS'ye dün başladığım için nasıl yapacağımı bilemiyorum. Yardımınızı bekliyorum.
O zaman console.log içinde yazıp bir göster ona göre bir kod yazayım.
 
Tamam işte objeyi parse edip alabilirsin, listeden map metodu ile alırsın. console.loglayıp bir sonucu gör. İlla ki satır satır kodu mu yazayım? :D

O zaman console.log içinde yazıp bir göster ona göre bir kod yazayım.
Kod:
Info: Start process (21:46:12)
{
  'Wi-Fi': [
    {
      address: 'fe80::a42e:b0cf:7e33:5a8b',
      netmask: 'ffff:ffff:ffff:ffff::',
      family: 'IPv6',
      mac: '34:46:1b:2e:26:5b',
      internal: false,
      cidr: 'fe80::a42e:b0cf:7e33:5a8b/64',
      scopeid: 13
    },
    {
      address: '192.168.1.30',
      netmask: '255.255.255.0',
      family: 'IPv4',
      mac: '34:46:1b:2e:26:5b',
      internal: false,
      cidr: '192.168.1.30/24'
    }
  ],
  'Loopback Pseudo-Interface 1': [
    {
      address: '::1',
      netmask: 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff',
      family: 'IPv6',
      mac: '00:00:00:00:00:00',
      internal: true,
      cidr: '::1/128',
      scopeid: 0
    },
    {
      address: '127.0.0.1',
      netmask: '255.0.0.0',
      family: 'IPv4',
      mac: '00:00:00:00:00:00',
      internal: true,
      cidr: '127.0.0.1/8'
    }
  ]
}
Info: End process (21:46:13)

Böyle alt alta kayıt edecek şu şekilde:
1289388238
SD8D8SA88
SA8D8SJSJD
 
@behzat_c şöyle gelmesi lazım virgülle ayrılmış olarak. Compile etmeden yazdım hata olabilir.

JavaScript:
const object = require('os').networkInterfaces();
const macAddresses = [];
Object.keys(object).forEach(key => {
    object[key].forEach(item => {
        if (item.mac != null) macAddresses.push(item.mac);
    });
});
const macAddressesStr = macAddresses.join(",");
 
@behzat_c şöyle gelmesi lazım virgülle ayrılmış olarak. Compile etmeden yazdım hata olabilir.

JavaScript:
const object = require('os').networkInterfaces();
const macAddresses = [];
Object.keys(object).forEach(key => {
    object[key].forEach(item => {
        if (item.mac != null) macAddresses.push(item.mac);
    });
});
const macAddressesStr = macAddresses.join(",");
Konsola nasıl yazdıracağım bunu
 
console.log(macAddressesStr);
Virgül yerine alt alta olsa olmaz mı ve MAClerin arasında ki " : " işareti olmasa?
1653073207093.png


Edit: Alt alta yaptım. Şuan sadece : işareti olmasın ve harfler büyük harf olsun. Nasıl olur :D
Harfler çok önemli değil eğer yapılabiliyorsa büyük olsun. @Berkay Davas @F4ST3R
 
Son düzenleme:

Geri
Yukarı