Ja nie odnosząc się doJak mogę uzyskać lokalny adres IP w Node.js?
127.0.0.1
lecz ten, który innych komputerów byłoby wykorzystać do uzyskania dostępu do urządzenia np
192.168.1.6
Ja nie odnosząc się doJak mogę uzyskać lokalny adres IP w Node.js?
127.0.0.1
lecz ten, który innych komputerów byłoby wykorzystać do uzyskania dostępu do urządzenia np
192.168.1.6
http://nodejs.org/api/os.html#os_os_networkinterfaces
var os = require('os');
var interfaces = os.networkInterfaces();
var addresses = [];
for (var k in interfaces) {
for (var k2 in interfaces[k]) {
var address = interfaces[k][k2];
if (address.family === 'IPv4' && !address.internal) {
addresses.push(address.address);
}
}
}
console.log(addresses);
Dla tych, którzy przeszukują interwebz, jest to popularnie nazywane IP sieci. – jonathanberi
Wziąłem tę technikę i zapakowałem ją do modułu o nazwie interface-addresses. Sprawdź to tutaj https://github.com/nisaacson/interface-addresses – Noah
Aby zrozumieć, dlaczego istnieje więcej niż jeden adres IP? Kiedy uruchomię to z haustem, otrzymuję: 'en0',' vnic0', 'vnic01'. 'en0' to jedna przeglądarkaSync wyświetla mi. –
https://github.com/indutny/node-ip
var ip = require("ip");
console.dir (ip.address());
Chciałbym móc to powtórzyć ... – theonlygusti
To jest najkrótsze rozwiązanie –
W rzeczywistości, jeśli potrzebujesz tylko IP, to rozwiązanie jest ~ 380 linii dłuższe niż akceptowane, ponieważ musisz dołączyć 'węzeł-ip' – wacko
https://github.com/dominictarr/my-local-ip
$ npm install -g my-local-ip
$ my-local-ip
lub
$ npm install --save my-local-ip
$ node
> console.log(require('my-local-ip')())
Bardzo mały moduł, który właśnie to robi.
$ npm install --save quick-local-ip
follwed przez
var myip = require('quick-local-ip');
//getting ip4 network address of local system
myip.getLocalIP4();
//getting ip6 network address of local system
myip.getLocalIP6();
Moja wersja, która była potrzebna do kompaktowej i pojedynczego skryptu plików nadzieję być przydatne dla innych:
var ifs = require('os').networkInterfaces();
var result = Object.keys(ifs)
.map(x => [x, ifs[x].filter(x => x.family === 'IPv4')[0]])
.filter(x => x[1])
.map(x => x[1].address);
lub odpowiedzieć na oryginalne pytanie:
var ifs = require('os').networkInterfaces();
var result = Object.keys(ifs)
.map(x => ifs[x].filter(x => x.family === 'IPv4' && !x.internal)[0])
.filter(x => x)[0].address;
Te nieokrzesane 1-liniowce mnie zabijają. Wolałby wieloliniowy i wcięty. Sexy rozwiązanie tho. –
bez problemu. Gotowe :) –
Czy wyszukiwałeś w Google? http://forum.webfaction.com/viewtopic.php?id=4500 – Nick
http://stackoverflow.com/a/3654601/1202784 – lfergon
możliwy duplikat [Pobierz lokalny adres IP w pliku node.js] (http: // stackoverflow.com/questions/3653065/get-local-ip-address-in-node-js) – alessioalex