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