网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的考试资料:

 

标题 nodejs URL模块操作URL相关方法介绍
内容
    这篇文章主要介绍了nodejs URL模块操作URL相关方法介绍,本文讲解了parse方法、format方法、querystring方法等,需要的朋友可以参考下
    url模块
    处理HTTP请求时url模块使用率超高,因为该模块允许解析URL、生成URL,以及拼接URL。首先我们来看看一个完整的URL的各组成部分。
    代码如下:
    href
    -----------------------------------------------------------------
    host path
    --------------- ----------------------------
    http: // user:pass @ host.com : 8080 /p/a/t/h ?query=string #hash
    ----- --------- -------- ---- -------- ------------- -----
    protocol auth hostname port pathname search hash
    ------------
    query
    我们可以使用.parse方法来将一个URL字符串转换为URL对象,示例如下。
    代码如下:
    url.parse('http://user:pass@host.com:8080/p/a/t/h?query=string#hash');
    /* =>
    { protocol: 'http:',
    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' }
    */
    传给.parse方法的不一定要是一个完整的URL,例如在HTTP服务器回调函数中,request.url不包含协议头和域名,但同样可以用.parse方法解析。
    代码如下:
    http.createServer(function (request, response) {
    var tmp = request.url; // => "/foo/bar?a=b"
    url.parse(tmp);
    /* =>
    { protocol: null,
    slashes: null,
    auth: null,
    host: null,
    port: null,
    hostname: null,
    hash: null,
    search: '?a=b',
    query: 'a=b',
    pathname: '/foo/bar',
    path: '/foo/bar?a=b',
    href: '/foo/bar?a=b' }
    */
    }).listen(80);
    .parse方法还支持第二个和第三个布尔类型可选参数。第二个参数等于true时,该方法返回的URL对象中,query字段不再是一个字符串,而是一个经过querystring模块转换后的参数对象。第三个参数等于true时,该方法可以正确解析不带协议头的URL,例如//www.example.com/foo/bar。
    反过来,format方法允许将一个URL对象转换为URL字符串,示例如下。
    代码如下:
    url.format({
    protocol: 'http:',
    host: 'www.example.com',
    pathname: '/p/a/t/h',
    search: 'query=string'
    });
    /* =>
    'http://www.example.com/p/a/t/h?query=string'
    */
    另外,.resolve方法可以用于拼接URL,示例如下。
    代码如下:
    url.resolve('http://www.example.com/foo/bar', '../baz');
    /* =>
    */
    Query String
    querystring模块用于实现URL参数字符串与参数对象的互相转换,示例如下。
    代码如下:
    querystring.parse('foo=bar&baz=qux&baz=quux&corge');
    /* =>
    { foo: 'bar', baz: ['qux', 'quux'], corge: '' }
    */
    querystring.stringify({ foo: 'bar', baz: ['qux', 'quux'], corge: '' });
    /* =>
    'foo=bar&baz=qux&baz=quux&corge='
    */
随便看

 

在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/19 3:35:22