• nodejs -- URL


    URL 即 (Uniform Resource Locator, 统一资源定位符)。也就是我们每天使用 Web 浏览器访问 Web 页面时候需要输入的地址。 比如: https://www.google.com/

    nodejs为开发者提供了用于解析和分析URL的工具模块,即URL模块。

    const url = require('url');
    

    解析后的URL对象包含下述部分或全部字段。具体包含哪些字段取决于解析前的URL字符串中是否存在这些字段。在原始的URL字符串中不存在的字段在解析后的对象中也不会包含。

    屏幕快照 2016-12-11 下午8.26.38.png-252kB

    • protocol:请求所使用的协议。
    • auth:URL中的用户身份验证信息。(现在没人用了)
    • host:URL中关于主机的完整信息,包括端口以及用户身份验证信息。
    • port:主机信息中的端口部分。
    • hostname:主机信息中的主机名部分。
    • hash:URL中的锚点部分,包含前导的'#'。
    • search:URL中的'query string'(查询字符串)部分,包括前导的'?'。
    • query:查询字符串中的参数部分,或者是由查询字符串解析出的对象。
    • pathname:URL中的路径部分,这部分信息位于主机信息之后查询字符串之前。如果存在最上层根目录符号'/',也将包含在此信息中。
    • href:完整的原始URL字符串。

    URL模块的所有API:

    url.parse()

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

    以一个 URL字符串为参数,返回一个解析后的对象。如设置第二个参数为true,则会使用querystring模块解析URL中的查询字符串。如果不知道地址的协议,还可以设置第三个参数为ture,也会正确解析主机名和路径。

    ABEE10CC-9BF7-4A0E-B7AB-67CC56238047.png-171.7kB

    DC11C834-EFAD-4091-9523-179B484107E2.png-156kB

    url.format

    url.format(urlObj)

    以一个解析后的URL对象为参数,返回格式化的URL字符串。

    url.resolve(from, to)

    url.resolve(from, to)

    指定一个默认URL地址,和一个链接的目标URL地址,返回链接的绝对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'
    

    querystring

    const querystring = require('querystring');
    

    该模块为处理查询字符串提供了一些实用的功能。包括如下的方法:

    屏幕快照 2016-12-11 下午10.40.49.png-176.6kB

    querystring.stringify()

    querystring.stringify(obj[, sep[, eq[, options]]])

    将一个对象序列化为一个查询字符串,可选择是否覆盖默认的分隔符和赋值符。

    屏幕快照 2016-12-11 下午10.45.27.png-76.9kB

    querystring.parse()

    querystring.parse(str[, sep[, eq[, options]]])

    将一个查询字符串反序列化为一个对象,可选择是否覆盖默认的分隔符和赋值符。

    屏幕快照 2016-12-11 下午10.50.32.png-91.4kB

    querystring.escape

    querystring.escape(str)

    由querystring.stringify使用的转义函数,需要时可重置其内容。

    let str = querystring.escape('啪啪啪~');
    console.log(str);  //%E5%95%AA%E5%95%AA%E5%95%AA~
    

    querystring.unescape

    querystring.unescape(str)

    由querystring.stringify使用的转义函数,需要时可重置其内容。

    let str = querystring.unescape('%E5%95%AA%E5%95%AA%E5%95%AA~');
    console.log(str);  // 啪啪啪~
    
  • 相关阅读:
    [bzoj 3048] [Usaco2013 Jan]Cow Lineup
    [bzoj 3192] [JLOI2013]删除物品
    搬迁至新博客的原因
    洛谷 P3317 [SDOI2014]重建(矩阵树定理+数学推导) [bzoj3534]
    [bzoj1002]: [FJOI2007]轮状病毒(矩阵树定理)
    [bzoj1006]: [HNOI2008]神奇的国度(最大势算法)
    高精度板子
    洛谷 P3211 [HNOI2011]XOR和路径(推dp+高斯消元)
    字符串--manacher算法(回文串匹配)
    洛谷 P2633 Count on a tree[bzoj2588](倍增lca+主席树)
  • 原文地址:https://www.cnblogs.com/copperhaze/p/6163555.html
Copyright © 2020-2023  润新知