當(dāng)前位置:
首頁 >
node-OSDomainNetPath
發(fā)布時間:2025/6/17
58
豆豆
生活随笔
收集整理的這篇文章主要介紹了
node-OSDomainNetPath
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
OS---------------------------------------------Node.js os 模塊提供了一些基本的系統(tǒng)操作函數(shù)。
var os = require("os")
方法
序號 方法 & 描述
1 os.tmpdir()
返回操作系統(tǒng)的默認(rèn)臨時文件夾。
2 os.endianness()
返回 CPU 的字節(jié)序,可能的是 "BE" 或 "LE"。
3 os.hostname()
返回操作系統(tǒng)的主機(jī)名。
4 os.type()
返回操作系統(tǒng)名
5 os.platform()
返回編譯時的操作系統(tǒng)名
6 os.arch()
返回操作系統(tǒng) CPU 架構(gòu),可能的值有 "x64"、"arm" 和 "ia32"。
7 os.release()
返回操作系統(tǒng)的發(fā)行版本。
8 os.uptime()
返回操作系統(tǒng)運行的時間,以秒為單位。
9 os.loadavg()
返回一個包含 1、5、15 分鐘平均負(fù)載的數(shù)組。
10 os.totalmem()
返回系統(tǒng)內(nèi)存總量,單位為字節(jié)。
11 os.freemem()
返回操作系統(tǒng)空閑內(nèi)存量,單位是字節(jié)。
12 os.cpus()
返回一個對象數(shù)組,包含所安裝的每個 CPU / 內(nèi)核的信息:型號、速度(單位 MHz)、時間(一個包含 user、nice、sys、idle 和 irq 所使用 CPU / 內(nèi)核毫秒數(shù)的對象)。
13 os.networkInterfaces()
獲得網(wǎng)絡(luò)接口列表。
屬性
序號 屬性 & 描述
1 os.EOL
定義了操作系統(tǒng)的行尾符的常量。Path---------------------------------------------Node.js path 模塊提供了一些用于處理文件路徑的小工具
var path = require("path")
方法
序號 方法 & 描述
1 path.normalize(p)
規(guī)范化路徑,注意'..' 和 '.'。
2 path.join([path1][, path2][, ...])
用于連接路徑。該方法的主要用途在于,會正確使用當(dāng)前系統(tǒng)的路徑分隔符,Unix系統(tǒng)是"/",Windows系統(tǒng)是"\"。
3 path.resolve([from ...], to)
將 to 參數(shù)解析為絕對路徑,給定的路徑的序列是從右往左被處理的,后面每個 path 被依次解析,直到構(gòu)造完成一個絕對路徑。 path.resolve('wwwroot', 'static_files/png/', '../gif/image.gif');
// 如果當(dāng)前工作目錄為 /home/myself/node,
// 則返回 '/home/myself/node/wwwroot/static_files/gif/image.gif'
4 path.isAbsolute(path)
判斷參數(shù) path 是否是絕對路徑。
5 path.relative(from, to)
用于將絕對路徑轉(zhuǎn)為相對路徑,返回從 from 到 to 的相對路徑(基于當(dāng)前工作目錄)。在 Windows 上:
path.relative('C:\\orandea\\test\\aaa', 'C:\\orandea\\impl\\bbb');
// 返回: '..\\..\\impl\\bbb'
6 path.dirname(p)
返回路徑中代表文件夾的部分,同 Unix 的dirname 命令類似。
7 path.basename(p[, ext])
返回路徑中的最后一部分。同 Unix 命令 bashname 類似。
8 path.extname(p)
返回路徑中文件的后綴名,即路徑中最后一個'.'之后的部分。如果一個路徑中并不包含'.'或該路徑只包含一個'.' 且這個'.'為路徑的第一個字符,則此命令返回空字符串。
9 path.parse(pathString)
返回路徑字符串的對象。
10 path.format(pathObject)
從對象中返回路徑字符串,和 path.parse 相反。
屬性
序號 屬性 & 描述
1 path.sep
平臺的文件路徑分隔符,'\\' 或 '/'。
2 path.delimiter
平臺的分隔符, ; or ':'.
3 path.posix
提供上述 path 的方法,不過總是以 posix 兼容的方式交互。
4 path.win32
提供上述 path 的方法,不過總是以 win32 兼容的方式交互。Net---------------------------------------------Net 模塊
用于底層的網(wǎng)絡(luò)通信。提供了服務(wù)端和客戶端的的操作。
https://www.runoob.com/nodejs/nodejs-net-module.htmlDNS---------------------------------------------DNS 模塊
用于解析域名。
var dns = require("dns")方法
序號 方法 & 描述
1 dns.lookup(hostname[, options], callback)
將域名(比如 'runoob.com')解析為第一條找到的記錄 A (IPV4)或 AAAA(IPV6) 。參數(shù) options可以是一個對象或整數(shù)。如果沒有提供 options,IP v4 和 v6 地址都可以。如果 options 是整數(shù),則必須是 4 或 6。
2 dns.lookupService(address, port, callback)
使用 getnameinfo 解析傳入的地址和端口為域名和服務(wù)。
3 dns.resolve(hostname[, rrtype], callback)
將一個域名(如 'runoob.com')解析為一個 rrtype 指定記錄類型的數(shù)組。
4 dns.resolve4(hostname, callback)
和 dns.resolve() 類似, 僅能查詢 IPv4(A 記錄)。 addresses IPv4 地址數(shù)組(比如,['74.125.79.104', '74.125.79.105', '74.125.79.106'])。5 dns.resolve6(hostname, callback)
和 dns.resolve4() 類似, 僅能查詢 IPv6(AAAA 查詢)6 dns.resolveMx(hostname, callback)
和 dns.resolve() 類似, 僅能查詢郵件交換(MX 記錄) 。7 dns.resolveTxt(hostname, callback)
和 dns.resolve() 類似, 僅能進(jìn)行文本查詢(TXT 記錄)。 addresses 是 2 - d 文本記錄數(shù)組。(比如,[['v=spf1 ip4:0.0.0.0 ', '~all']])。 每個子數(shù)組包含一條記錄的 TXT 塊。根據(jù)使用情況可以連接在一起,也可單獨使用。8 dns.resolveSrv(hostname, callback)
和 dns.resolve() 類似, 僅能進(jìn)行服務(wù)記錄查詢(SRV 記錄)。 addresses 是 hostname可用的 SRV 記錄數(shù)組。 SRV 記錄屬性有優(yōu)先級(priority),權(quán)重(weight), 端口(port), 和名字(name)(比如,[{ 'priority': 10, 'weight': 5, 'port': 21223, 'name': 'service.example.com' }, ...])。9 dns.resolveSoa(hostname, callback)
和 dns.resolve() 類似, 僅能查詢權(quán)威記錄(SOA 記錄)。10 dns.resolveNs(hostname, callback)
和 dns.resolve() 類似, 僅能進(jìn)行域名服務(wù)器記錄查詢(NS 記錄)。 addresses 是域名服務(wù)器記錄數(shù)組(hostname 可以使用)(比如, ['ns1.example.com', 'ns2.example.com'])。11 dns.resolveCname(hostname, callback)
和 dns.resolve() 類似, 僅能進(jìn)行別名記錄查詢(CNAME記錄) 。addresses 是對 hostname 可用的別名記錄數(shù)組(比如,, ['bar.example.com'])。12 dns.reverse(ip, callback)
反向解析 IP 地址,指向該 IP 地址的域名數(shù)組。13 dns.getServers()
返回一個用于當(dāng)前解析的 IP 地址數(shù)組的字符串。14 dns.setServers(servers)
指定一組 IP 地址作為解析服務(wù)器。rrtypes
以下列出了 dns.resolve() 方法中有效的 rrtypes值:'A' IPV4 地址, 默認(rèn)
'AAAA' IPV6 地址
'MX' 郵件交換記錄
'TXT' text 記錄
'SRV' SRV 記錄
'PTR' 用來反向 IP 查找
'NS' 域名服務(wù)器記錄
'CNAME' 別名記錄
'SOA' 授權(quán)記錄的初始值
錯誤碼
每次 DNS 查詢都可能返回以下錯誤碼:dns.NODATA: 無數(shù)據(jù)響應(yīng)。dns.FORMERR: 查詢格式錯誤。dns.SERVFAIL: 常規(guī)失敗。dns.NOTFOUND: 沒有找到域名。dns.NOTIMP: 未實現(xiàn)請求的操作。dns.REFUSED: 拒絕查詢。dns.BADQUERY: 查詢格式錯誤。dns.BADNAME: 域名格式錯誤。dns.BADFAMILY: 地址協(xié)議不支持。dns.BADRESP: 回復(fù)格式錯誤。dns.CONNREFUSED: 無法連接到 DNS 服務(wù)器。dns.TIMEOUT: 連接 DNS 服務(wù)器超時。dns.EOF: 文件末端。dns.FILE: 讀文件錯誤。dns.NOMEM: 內(nèi)存溢出。dns.DESTRUCTION: 通道被摧毀。dns.BADSTR: 字符串格式錯誤。dns.BADFLAGS: 非法標(biāo)識符。dns.NONAME: 所給主機(jī)不是數(shù)字。dns.BADHINTS: 非法HINTS標(biāo)識符。dns.NOTINITIALIZED: c c - ares 庫尚未初始化。dns.LOADIPHLPAPI: 加載 iphlpapi.dll 出錯。dns.ADDRGETNETWORKPARAMS: 無法找到 GetNetworkParams 函數(shù)。dns.CANCELLED: 取消 DNS 查詢。實例
創(chuàng)建 main.js 文件,代碼如下所示:var dns = require('dns');dns.lookup('www.github.com', function onLookup(err, address, family) {console.log('ip 地址:', address);dns.reverse(address, function (err, hostnames) {if (err) {console.log(err.stack);}console.log('反向解析 ' + address + ': ' + JSON.stringify(hostnames));});
});
執(zhí)行以上代碼,結(jié)果如下所示:address: 192.30.252.130
reverse for 192.30.252.130: ["github.com"]Domain---------------------------------------------Domain 模塊
簡化異步代碼的異常處理,可以捕捉處理try catch無法捕捉的異常。方法
序號 方法 & 描述
1 domain.run(function)
在域的上下文運行提供的函數(shù),隱式的綁定了所有的事件分發(fā)器,計時器和底層請求。
2 domain.add(emitter)
顯式的增加事件
3 domain.remove(emitter)
刪除事件。
4 domain.bind(callback)
返回的函數(shù)是一個對于所提供的回調(diào)函數(shù)的包裝函數(shù)。當(dāng)調(diào)用這個返回的函數(shù)時,所有被拋出的錯誤都會被導(dǎo)向到這個域的 error 事件。
5 domain.intercept(callback)
和 domain.bind(callback) 類似。除了捕捉被拋出的錯誤外,它還會攔截 Error 對象作為參數(shù)傳遞到這個函數(shù)。
6 domain.enter()
進(jìn)入一個異步調(diào)用的上下文,綁定到domain。
7 domain.exit()
退出當(dāng)前的domain,切換到不同的鏈的異步調(diào)用的上下文中。對應(yīng)domain.enter() 。
8 domain.dispose()
釋放一個domain對象,讓node進(jìn)程回收這部分資源。
9 domain.create()
返回一個domain對象。var EventEmitter = require("events").EventEmitter;
var domain = require("domain");var emitter1 = new EventEmitter();// 創(chuàng)建域
var domain1 = domain.create();domain1.on('error', function (err) {console.log("domain1 處理這個錯誤 (" + err.message + ")");
});// 顯式綁定
domain1.add(emitter1);emitter1.on('error', function (err) {console.log("監(jiān)聽器處理此錯誤 (" + err.message + ")");
});emitter1.emit('error', new Error('通過監(jiān)聽器來處理'));emitter1.removeAllListeners('error');emitter1.emit('error', new Error('通過 domain1 處理'));domain1.remove(emitter1);
emitter1.emit('error', new Error('轉(zhuǎn)換為異常,系統(tǒng)將崩潰!'));
?
總結(jié)
以上是生活随笔為你收集整理的node-OSDomainNetPath的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: node-GetPOST
- 下一篇: Node-Web模块