• nodejs——URL 基础API


    node.js中文url API文档地址:http://nodejs.cn/api/url.html

    以下是URL的基础API的简单使用:

    url.parse(url)

    将字符串解析成url对象

    基本的解析:

    命令行输入:

     1 $ url.parse('https://www.imooc.com/video/6710') 

    打印如下:

    Url {
    protocol: 'https:', // 底层使用的协议
    slashes: true, // 是否有协议的双实线
    auth: null, // 
    host: 'www.imooc.com', // ip或域名
    port: null, // 是否有端口
    hostname: 'www.imooc.com', // 主机名
    hash: null, // 哈希值(一般是锚点)
    search: null, // 查询字符串参数
    query: null, // 发送给http服务器的数据
    pathname: '/video/6710', // 访问资源的路径名
    path: '/video/6710', // 访问资源的路径
    href: 'https://www.imooc.com/video/6710' // 未解析的详细的url地址
    
    }
    View Code

    加上参数或锚点:

    命令行输入:

    $ url.parse('https://www.imooc.com:8080/video/6710?from=mankii&course=node#floor1')

    打印如下:

     1 Url {
     2 protocol: 'https:',
     3 slashes: true,
     4 auth: null,
     5 host: 'www.imooc.com:8080',
     6 port: '8080',
     7 hostname: 'www.imooc.com',
     8 hash: '#floor1',
     9 search: '?from=mankii&course=node',
    10 query: 'from=mankii&course=node',
    11 pathname: '/video/6710',
    12 path: '/video/6710?from=mankii&course=node',
    13 href: 'https://www.imooc.com:8080/video/6710?from=mankii&course=node#floor1'
    14 }
    View Code


    url.format(options)

    与url.parse()相对的,url.format将url对象转换成字符串

    命令行输入:

     1 $ url.format{
     2 protocol: 'https:',
     3 slashes: true,
     4 auth: null,
     5 host: 'www.imooc.com:8080',
     6 port: '8080',
     7 hostname: 'www.imooc.com',
     8 hash: '#floor1',
     9 search: '?from=mankii&course=node',
    10 query: 'from=mankii&course=node',
    11 pathname: '/video/6710',
    12 path: '/video/6710?from=mankii&course=node',
    13 href: 'https://www.imooc.com:8080/video/6710?from=mankii&course=node#floor1'
    14 }
    View Code

    打印如下:

    'https://www.imooc.com:8080/video/6710?from=mankii&course=node#floor1'
    View Code

    url.resolve(url,path)

    以一种 Web 浏览器解析超链接的方式把一个目标 URL 解析成相对于一个基础 URL

    命令行输入:

    1 $ url.resolve("https://www.imooc.com","/course/list");

    打印如下:

    1 'https://www.imooc.com/course/list'

    ----- url.parse更多参数 ----


    url.parse(url, true)

    // 第二个参数为true时,则将query解析成对象格式

    命令行输入:

    1 $ url.parse('https://www.imooc.com:8080/video/6710?from=mankii&course=node#floor1', true)

    打印如下:

     1 Url {
     2 protocol: 'https:',
     3 slashes: true,
     4 auth: null,
     5 host: 'www.imooc.com:8080',
     6 port: '8080',
     7 hostname: 'www.imooc.com',
     8 hash: '#floor1',
     9 search: '?from=mankii&course=node',
    10 query: { from: 'mankii', course: 'node' },
    11 pathname: '/video/6710',
    12 path: '/video/6710?from=mankii&course=node',
    13 href: 'https://www.imooc.com:8080/video/6710?from=mankii&course=node#floor1' }
    View Code


    url.parse(url, true, true)

    // 第三个参数为true时,会自动根据协议来解析

    例如,第三个参数不设置时,命令行输入:

    1 $ url.parse("//imooc.com/course/list", true)

    打印如下:可以看到无法正常解析

     1 Url {
     2 protocol: null,
     3 slashes: null,
     4 auth: null,
     5 host: null,
     6 port: null,
     7 hostname: null,
     8 hash: null,
     9 search: '',
    10 query: {},
    11 pathname: '//imooc.com/course/list
    12 path: '//imooc.com/course/list',
    13 href: '//imooc.com/course/list' }
    View Code

    加上第三个参数,命令行输入:

    1 $ url.parse("//imooc.com/course/list", true, true)

    打印如下:

     1 Url {
     2 protocol: null,
     3 slashes: true,
     4 auth: null,
     5 host: 'imooc.com',
     6 port: null,
     7 hostname: 'imooc.com',
     8 hash: null,
     9 search: '',
    10 query: {},
    11 pathname: '/course/list',
    12 path: '/course/list',
    13 href: '//imooc.com/course/list' }
    View Code
  • 相关阅读:
    JS定时器不可靠的原因及解决方案
    大厂面试:一个四年多经验程序员的BAT面经(字节、阿里、腾讯)
    Hyperledger Fabric 2.x Java区块链应用
    Hyperledger Fabric 2.x 自定义智能合约
    Hyperledger Fabric 2.x 环境搭建
    Hyperledger Fabric 2.x 动态更新智能合约
    Spring Cloud Gateway现高风险漏洞,建议采取措施加强防护
    ApplicationStartedEvent与ContextStartedEvent有区别吗?
    面对科技公司的制裁,俄罗斯放出封印7年的神兽:RuTracker
    MacOS新功能“通用控制”,多台设备操作互联太方便了!
  • 原文地址:https://www.cnblogs.com/mankii/p/9823623.html
Copyright © 2020-2023  润新知