1、url
1.1 parse
url.parse(urlString[, parseQueryString[, slashesDenoteHost]])
url.parse()可以将一个完整的URL地址,分为很多部分,常用的有:host、port、pathname、path、query。
第二个参数为 true 表示直接将查询字符串转为一个对象(通过query属性来访问),默认第二个参数为false。
const url = require('url')
const urlString = 'https://www.baidu.com:443/ad/index.html?id=8&name=mouse#tag=110'
const parsedStr = url.parse(urlString)
console.log(parsedStr)
1.2 format
url.format(URL[, options])
将一个解析后的URL对象、转成、一个格式化的URL字符串。
var url = require('url');
var a = url.format({
protocol : 'http' ,
auth : null ,
host : 'example.com:8080' ,
port : '8080' ,
hostname : 'example.com' ,
hash : null ,
search : '?a=index&t=article&m=default',
query : 'a=index&t=article&m=default',
pathname : '/one',
path : '/one?a=index&t=article&m=default',
href : 'http://example.com:8080/one?a=index&t=article&m=default'
});
console.log(a);
//输出结果:http://example.com:8080/one?a=index&t=article&m=default
1.3 resolve
url.resolve(from, to)
url.resolve方法可以用于拼接URL
const url = require('url')
var a = url.resolve('/one/two/three', 'four')
var b = url.resolve('http://example.com/', '/one')
var c = url.resolve('http://example.com/one', '/two')
console.log(a + "," + b + "," + c)
//输出结果:/one/two/four,
//http://example.com/one,
//http://example.com/two,
替换 域名后面第一个“/”后的内容,如果出现 . 就向上返回一级之后再拼接,两个…就向上两级拼接
2、querystring
2.1 parse
querystring.parse(str[, sep[, eq[, options]]])
- str 欲转换的字符串
- sep 设置分隔符,默认为 ‘&’
- eq 设置赋值符,默认为 ‘=’
- [options] maxKeys 可接受字符串的最大长度,默认为1000
将字符串转成对象。
querystring.parse('foo=bar&baz=qux&baz=quux&corge')
// returns
{ foo: 'bar', baz: ['qux', 'quux'], corge: '' }
2.2 stringify
querystring.stringify(obj[, sep[, eq[, options]]])
- obj 欲转换的对象
- sep 设置分隔符,默认为 ‘&’
- eq 设置赋值符,默认为 ‘=’
querystring.stringify({foo: 'bar', baz: 'qux'}, ';', ':')
// returns
'foo:bar;baz:qux'
2.3 escape/unescape
querystring.escape(str)
对给定的 str 进行 URL 编码(转义)。
const querystring = require('querystring')
var str = 'id=3&city=北京&url=https://www.baidu.com'
var escaped = querystring.escape(str)
console.log(escaped)
querystring.unescape(str)
对给定的 str 进行解码。(反转义)
const querystring = require('querystring')
var str = 'id%3D3%26city%3D%E5%8C%97%E4%BA%AC%26url%3Dhttps%3A%2F%2Fwww.baidu.com'
var unescaped = querystring.unescape(str)
console.log(unescaped)