Node.js:url
2016-07-12 21:04
429 查看
在node运行环境中输入url:
可以看到有五个方法。
1.url.parse():解析一个路径
例如:
将路径解析成一个对象,包含了端口号、主机名等等信息。
- url.parse()的第二个参数会将query解析成一个对象,如:
对比可以发现,当第二个参数设置为true时,会将url中的query解析成一个对象。
- url.parse()的第三个参数可以解析一个不确定协议的url请求:
设置第三个参数true的时候,能够解析不带协议的url请求,如果不设置第三个参数(默认为false)效果又是怎样的呢?看下面的代码:
对比上面,发现无法识别host、hostname。
2.url.format():格式化一个url对象。
例如:
能够输出完整的url路径。
3.url.resolve():为url插入或替换原有的标签。
接收两个参数,第一个是源地址,第二个是需要添加或者替换的标签。例如:
> url url { parse: [Function: urlParse], resolve: [Function: urlResolve], resolveObject: [Function: urlResolveObject], format: [Function: urlFormat], Url: [Function: Url] }
可以看到有五个方法。
1.url.parse():解析一个路径
例如:
> url.parse('http://imooc.com/course/list') Url { protocol: 'http:', slashes: true, auth: null, host: 'imooc.com', port: null, hostname: 'imooc.com', hash: null, search: null, query: null, pathname: '/course/list', path: '/course/list', href: 'http://imooc.com/course/list' }
将路径解析成一个对象,包含了端口号、主机名等等信息。
- url.parse()的第二个参数会将query解析成一个对象,如:
> url.parse('http://imooc.com:8080/course/list?from=scott&course=node#floor1',true) Url { protocol: 'http:', slashes: true, auth: null, host: 'imooc.com:8080', port: '8080', hostname: 'imooc.com', hash: '#floor1', search: '?from=scott&course=node', query: { from: 'scott', course: 'node' }, pathname: '/course/list', path: '/course/list?from=scott&course=node', href: 'http://imooc.com:8080/course/list?from=scott&course=node#floor1' }
对比可以发现,当第二个参数设置为true时,会将url中的query解析成一个对象。
- url.parse()的第三个参数可以解析一个不确定协议的url请求:
> url.parse('//imooc.com/course/list',true,true) Url { protocol: null, slashes: true, auth: null, host: 'imooc.com', port: null, hostname: 'imooc.com', hash: null, search: '', query: {}, pathname: '/course/list', path: '/course/list', href: '//imooc.com/course/list' }
设置第三个参数true的时候,能够解析不带协议的url请求,如果不设置第三个参数(默认为false)效果又是怎样的呢?看下面的代码:
> url.parse('//imooc.com/course/list',true) Url { protocol: null, slashes: null, auth: null, host: null, port: null, hostname: null, hash: null, search: '', query: {}, pathname: '//imooc.com/course/list', path: '//imooc.com/course/list', href: '//imooc.com/course/list' }
对比上面,发现无法识别host、hostname。
2.url.format():格式化一个url对象。
例如:
> url.format({ ... protocol: 'http:', ... slashes: true, ... auth: null, ... host: 'imooc.com:8080', ... port: '8080', ... hostname: 'imooc.com', ... hash: '#floor1', ... search: '?from=scott&course=node', ... query: 'from=scott&course=node', ... pathname: '/course/list', ... path: '/course/list?from=scott&course=node', ... href: 'http://imooc.com:8080/course/list?from=scott&course=node#floor1' }) 'http://imooc.com:8080/course/list?from=scott&course=node#floor1'
能够输出完整的url路径。
3.url.resolve():为url插入或替换原有的标签。
接收两个参数,第一个是源地址,第二个是需要添加或者替换的标签。例如:
> url.resolve('http://imooc.com/','course/list') 'http://imooc.com/course/list'
相关文章推荐
- Node.js:服务器与数据流
- Node.js 常用 API
- NODEjs自动重启服务
- Leetcode 24. Swap Nodes in Pairs (Easy) (cpp)
- node.js windows下npm配置全局模块express.
- 对express中next函数的一些理解
- Build a RESTful API Using Node and Express 4
- Node.js-中文分词【1】-node-segment
- node.js安装
- Leetcode 237. Delete Node in a Linked List (Easy) (cpp)
- node -- all
- nodejs 常用 index
- 通过sed和awk获取集群最新挂掉的DataNode信息
- nodejs:express API之res.locals
- C#操作XML文档(XmlDocument、XmlNode、XmlAttribute、SelectSingleNode、SelectNodes、XmlNodeList)
- 116. Populating Next Right Pointers in Each Node && 117. Populating Next Right Pointers in Each Node II
- Leetcode 19. Remove Nth Node From End of List (Easy) (cpp)
- nodejs下的图形处理库gm在windows环境的安装
- NODEJS mongoose 增删改查
- hadoop节点nodemanager启动失败原因小结~