前言
当你使用querystring.parse()
或者是url.parse()
时会得到一个警告@deprecated — since v11.0.0 - Use the WHATWG URL API.
由于 url.parse()
方法使用一种宽松的非标准算法来解析网址字符串,因此可能会引入安全问题
具体来说,已经确定了主机名欺骗以及用户名和密码处理不当的问题
url.parse()
在v11.0.0
开始被打上@deprecated
注解(也不知道叫做注解合不合理,可能是 java 写多了吧),在v16.0.0
后被完全移除,同时还一并移除的有url.format()
url.resolve()
COPY
1 | /** |
COPY
1 | declare module "url" { |
为什么?
这是因为 nodejs 的url.parse
方法采用的传统的urlObject
,不符合URL 标准,因此被弃用
WHATWG 是 (Web Hypertext Application Technology Working GroupWeb 超文本应用程序技术工作组)
使用 URL
使用 URL 类对 url 进行操作,详细文档见(可将域名后的 org 改为 cn 看中文文档)
COPY
1 | const urlStr = "https://example.org/foo?name=zhangsan&age=18"; |
正文
前面脆皮了那么多内容,现在才是本文的主要内容
我们可以这么写来解析 get 请求的参数
访问: http://localhost:3000/foo?name=zhangsan&age=18
因为我比较懒,我就不写那么多示例代码了,全部塞到一个代码示例里,大家勉强看一下注释吧
为了方便,我封装成了一个库,可以获取POST、GET请求的参数,觉得可以的话可以点个star✨支持一下😁
项目地址: Body-Data: https://github.com/Lete114/Body-Data
COPY
1 | const http = require("http"); |