Node.js中的URL模块

来源:互联网 发布:linux权限表示 编辑:程序博客网 时间:2024/06/07 10:26

URL模块简介

该模块包含用以 URL 解析的实用函数

//调用URL模块var url = require('url')

函数

url.parse(urlStr[, parseQueryString][, slashesDenoteHost])

输入 URL 字符串,返回一个对象

将第二个参数设置为 true 则使用 querystring 模块来解析 URL 中的查询字符串部分,默认为 false

将第三个参数设置为 true 来把诸如 //foo/bar 这样的URL解析为 { host: ‘foo’, pathname: ‘/bar’ } 而不是 { pathname: ‘//foo/bar’ }。 默认为 false

var url = require('url')var href = 'http://user:pass@host.com:8080/p/a/t/h?query=string#hash'console.log(url.parse(href))Url {  protocol: 'http:',  slashes: true,  auth: 'user:pass',  host: 'host.com:8080',  port: '8080',  hostname: 'host.com',  hash: '#hash',  search: '?query=string',  query: 'query=string',  pathname: '/p/a/t/h',  path: '/p/a/t/h?query=string',  href: 'http://user:pass@host.com:8080/p/a/t/h?query=string#hash' }

href: 所解析的完整原始 URL。协议名和主机名都已转为小写
protocol: 请求协议,小写
host: URL主机名已全部转换成小写, 包括端口信息
auth:URL中身份验证信息部分
hostname:主机的主机名部分, 已转换成小写
port: 主机的端口号部分
pathname: URL的路径部分,位于主机名之后请求查询之前
search: URL 的“查询字符串”部分,包括开头的问号
path: pathname 和 search 连在一起
query: 查询字符串中的参数部分(问号后面部分字符串)
hash: URL 的 “#” 后面部分(包括 # 符号)

url.format(urlObj)

输入一个 URL 对象,返回格式化后的 URL 字符串

url.resolve(from, to)

给定一个基URL路径,和一个href URL路径,并且象浏览器那样处理他们可以带上锚点

url.resolve('/one/two/three', 'four')         // '/one/two/four'url.resolve('http://example.com/', '/one')    // 'http://example.com/one'url.resolve('http://example.com/one', '/two') // 'http://example.com/two'

0 0