Node.js v14.21.1 文档


目录

url 网址#

中英对照

url 模块提供用于网址处理和解析的实用工具。 可以使用以下方式访问它:


网址字符串与网址对象#

中英对照

网址字符串是包含多个有意义组件的结构化字符串。 解析时,将返回包含每个组件的属性的网址对象。




从组成部分构造网址并获取构造的字符串#

中英对照

可以使用属性设置器或模板文字串从组件部分构建 WHATWG 网址:




WHATWG 网址 API#

URL#

中英对照

浏览器兼容的 URL 类,按照 WHATWG 网址标准实现。 解析网址的示例可以在标准本身中找到。 URL 类也在全局对象上可用。

new URL(input[, base])#

中英对照

    通过相对于 base 解析 input 来创建新的 URL 对象。 如果 base 作为字符串传入,则其将被解析为等效于 new URL(base)

    
    

    
    

    
    

    
    

    
    
    url.hash#

    中英对照

      获取和设置网址的片段部分。

      
      

      url.host#

      中英对照

        获取和设置网址的主机部分。

        
        

        url.hostname#

        中英对照

          获取和设置网址的主机名部分。 url.hosturl.hostname 之间的主要区别在于 url.hostname 不包括端口。

          
          

          url.href#

          中英对照

            获取和设置序列化的网址。

            
            

            url.origin#

            中英对照

              获取网址的源的只读的序列化。

              
              
              
              
              url.password#

              中英对照

                获取和设置网址的密码部分。

                
                

                url.pathname#

                中英对照

                  获取和设置网址的路径部分。

                  
                  

                  url.port#

                  中英对照

                    获取和设置网址的端口部分。

                    
                    

                    
                    
                    url.protocol#

                    中英对照

                      获取和设置网址的协议部分。

                      
                      

                      特殊协议#

                      中英对照

                      WHATWG 网址标准认为少数网址协议方案在解析和序列化方式方面具有特殊性。 当使用这些特殊协议之一解析网址时,url.protocol 属性可能会更改为另一种特殊协议,但不能更改为非特殊协议,反之亦然。

                      
                      

                      
                      

                      
                      

                      url.search#

                      中英对照

                        获取和设置网址的序列化的查询部分。

                        
                        

                        url.searchParams#

                        中英对照

                          获取表示网址查询参数的 URLSearchParams 对象。 此属性是只读的,但它提供的 URLSearchParams 对象可用于更改网址实例; 要替换网址的整个查询参数,则使用 url.search 设置器。 有关详细信息,请参阅 URLSearchParams 文档。

                          
                          
                          url.username#

                          中英对照

                            获取和设置网址的用户名部分。

                            
                            

                            url.toString()#

                            中英对照

                              URL 对象上的 toString() 方法返回序列化的网址。 返回值等同于 url.hrefurl.toJSON() 的值。

                              url.toJSON()#

                              中英对照

                                URL 对象上的 toJSON() 方法返回序列化的网址。 返回值等同于 url.hrefurl.toString() 的值。

                                
                                

                                URLSearchParams#

                                中英对照

                                URLSearchParams API 提供对 URL 查询的读写访问。 URLSearchParams 类也可以与以下四个构造函数之一单独使用。 URLSearchParams 类也在全局对象上可用。

                                
                                
                                new URLSearchParams()#

                                中英对照

                                实例化新的空 URLSearchParams 对象。

                                new URLSearchParams(string)#

                                中英对照

                                  string 解析为查询字符串,并使用它来实例化新的 URLSearchParams 对象。 前导 '?'(如果存在)将被忽略。

                                  
                                  
                                  new URLSearchParams(obj)#

                                  中英对照

                                    使用查询哈希映射实例化新的 URLSearchParams 对象。 obj 的每个属性的键和值总是被强制转换为字符串。

                                    
                                    
                                    new URLSearchParams(iterable)#

                                    中英对照

                                      以类似于 Map 的构造函数的方式使用可迭代映射实例化新的 URLSearchParams 对象。 iterable 可以是 Array 或任何可迭代对象。 这意味着 iterable 可以是另一个 URLSearchParams,在这种情况下,构造函数将简单地创建提供的 URLSearchParams 的克隆。 iterable 的元素是键值对,并且本身可以是任何可迭代对象。

                                      
                                      
                                      urlSearchParams.append(name, value)#

                                      中英对照

                                        将新的名称-值对追加到查询字符串。

                                        urlSearchParams.delete(name)#

                                        中英对照

                                          删除名称为 name 的所有名称-值对。

                                          urlSearchParams.entries()#

                                          中英对照

                                            在查询中的每个名称-值对上返回 ES6 Iterator。 迭代器的每一项都是 JavaScript ArrayArray 的第一项是 nameArray 的第二项是 value

                                            urlSearchParams.forEach(fn[, thisArg])#

                                            中英对照

                                              迭代查询中的每个名称-值对并调用给定的函数。

                                              
                                              
                                              urlSearchParams.get(name)#

                                              中英对照

                                                返回名称为 name 的第一个名称-值对的值。 如果没有这样的对,则返回 null

                                                urlSearchParams.getAll(name)#

                                                中英对照

                                                  返回名称为 name 的所有名称-值对的值。 如果没有这样的对,则返回空数组。

                                                  urlSearchParams.has(name)#

                                                  中英对照

                                                    如果至少有一个名称-值对的名称为 name,则返回 true

                                                    urlSearchParams.keys()#

                                                    中英对照

                                                      在每个名称-值对的名称上返回 ES6 Iterator

                                                      
                                                      
                                                      urlSearchParams.set(name, value)#

                                                      中英对照

                                                        将与 name 关联的 URLSearchParams 对象中的值设置为 value。 如果存在任何名称为 name 的预先存在的名称-值对,则将第一个此类对的值设置为 value 并删除所有其他名称。 如果没有,则将名称-值对追加到查询字符串。

                                                        
                                                        
                                                        urlSearchParams.sort()#

                                                        中英对照

                                                        按名称对所有现有的名称-值对进行就地排序。 排序是使用稳定排序算法完成的,因此保留了具有相同名称的名称-值对之间的相对顺序。

                                                        
                                                        
                                                        urlSearchParams.toString()#

                                                        中英对照

                                                          返回序列化为字符串的搜索参数,必要时使用百分比编码的字符。

                                                          urlSearchParams.values()#

                                                          中英对照

                                                            在每个名称-值对的值上返回 ES6 Iterator

                                                            urlSearchParams[Symbol.iterator]()#

                                                            中英对照

                                                              在查询字符串中的每个名称-值对上返回 ES6 Iterator。 迭代器的每一项都是 JavaScript ArrayArray 的第一项是 nameArray 的第二项是 value

                                                              
                                                              

                                                              url.domainToASCII(domain)#

                                                              中英对照

                                                                返回 domainPunycode ASCII 序列化。 如果 domain 是无效域,则返回空字符串。

                                                                
                                                                

                                                                url.domainToUnicode(domain)#

                                                                中英对照

                                                                  返回 domain 的 Unicode 序列化。 如果 domain 是无效域,则返回空字符串。

                                                                  
                                                                  

                                                                  url.fileURLToPath(url)#

                                                                  中英对照

                                                                    此函数可确保正确解码百分比编码字符,并确保跨平台有效的绝对路径字符串。

                                                                    
                                                                    

                                                                    url.format(URL[, options])#

                                                                    中英对照

                                                                      返回 WHATWG 网址对象的网址 String 表示的可自定义的序列化。

                                                                      
                                                                      

                                                                      url.pathToFileURL(path)#

                                                                      中英对照

                                                                        该函数确保 path 被绝对解析,并且在转换为文件网址时正确编码网址控制字符。

                                                                        
                                                                        

                                                                        url.urlToHttpOptions(url)#

                                                                        中英对照

                                                                          该实用函数按照 http.request()https.request() API 的预期将网址对象转换为普通选项对象。

                                                                          
                                                                          

                                                                          旧版的网址 API#

                                                                          中英对照

                                                                          旧版的 urlObject#

                                                                          中英对照

                                                                          旧版的 urlObjectrequire('url').Url)由 url.parse() 函数创建和返回。

                                                                          urlObject.auth#

                                                                          中英对照

                                                                          auth 属性是网址的用户名和密码部分,也称为 userinfo。 此字符串子集跟在 protocol 和双斜杠(如果存在)之后,并在 host 组件之前,由 @ 分隔。 该字符串要么是用户名,要么是由 : 分隔的用户名和密码。

                                                                          urlObject.hash#

                                                                          中英对照

                                                                          hash 属性是网址的片段标识符部分,包括前导 # 字符。

                                                                          urlObject.host#

                                                                          中英对照

                                                                          host 属性是网址的完整小写主机部分,包括 port(如果指定)。

                                                                          urlObject.hostname#

                                                                          中英对照

                                                                          hostname 属性是 host 组件的小写主机名部分,不包括 port

                                                                          urlObject.href#

                                                                          中英对照

                                                                          href 属性是将 protocolhost 组件都转换为小写的完整网址字符串。

                                                                          urlObject.path#

                                                                          中英对照

                                                                          path 属性是 pathnamesearch 组件的串联。

                                                                          urlObject.pathname#

                                                                          中英对照

                                                                          pathname 属性包含网址的整个路径部分。 这是 host(包括 port)之后和 queryhash 组件开始之前的所有内容,由 ASCII 问号 (?) 或哈希 (#) 字符分隔。

                                                                          urlObject.port#

                                                                          中英对照

                                                                          port 属性是 host 组件的数字端口部分。

                                                                          urlObject.protocol#

                                                                          中英对照

                                                                          protocol 属性标识网址的小写协议方案。

                                                                          urlObject.query#

                                                                          中英对照

                                                                          query 属性要么是不带前导 ASCII 问号 (?) 的查询字符串,要么是 querystring 模块的 parse() 方法返回的对象。 query 属性是字符串还是对象由传给 url.parse()parseQueryString 参数决定。

                                                                          urlObject.search#

                                                                          中英对照

                                                                          search 属性由网址的整个“查询字符串”部分组成,包括前导 ASCII 问号 (?) 字符。

                                                                          urlObject.slashes#

                                                                          中英对照

                                                                          如果 protocol 中的冒号后需要两个 ASCII 正斜杠字符 (/),则 slashes 属性是值为 trueboolean

                                                                          url.format(urlObject)#

                                                                          中英对照

                                                                            url.format() 方法返回从 urlObject 派生的格式化网址字符串。

                                                                            
                                                                            

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

                                                                              中英对照

                                                                                url.parse() 方法接受网址字符串,解析并返回网址对象。

                                                                                url.resolve(from, to)#

                                                                                中英对照

                                                                                  url.resolve() 方法以类似于 Web 浏览器解析锚标记 HREF 的方式解析相对于基本网址的目标网址。

                                                                                  
                                                                                  

                                                                                  
                                                                                  

                                                                                  网址中的百分号编码#

                                                                                  中英对照

                                                                                  网址只允许包含一定范围的字符。 任何超出该范围的字符都必须进行编码。 这些字符的编码方式以及要编码的字符完全取决于字符在网址结构中的位置。

                                                                                  旧版的 API#

                                                                                  中英对照

                                                                                  在旧版 API 中,空格 (' ') 和以下字符将在网址对象的属性中自动转义:

                                                                                  
                                                                                  

                                                                                  WHATWG API#

                                                                                  中英对照

                                                                                  WHATWG 网址标准使用比旧版 API 使用的方法更具选择性和细粒度的方法来选择编码字符。

                                                                                    返回顶部