补充: 关于new URL()

本文介绍了Node.js中url.parse的废弃及新URL API的使用,重点讲解了如何通过newURL()获取和操作URL对象,以及其与旧方法的区别和新特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

url.parse() 【属于url模块】 被废除,用 new URL() 【属于URL API】代替

之前用url.parse() 这样获取返回的对象

var url = require('url')
var obj = url.parse('/pinglun?name=chy&message=hahaha')
  • 这是因为nodejs的url.parse方法采用的传统的urlObject,不符合URL现存标准-WHATWG URL API,因此弃用了。同时url.format(), url.resolve()也弃用了。

采用 new URL() 的方式:

let url = new URL('https://example.com?foo=1&bar=2');
let params = new URLSearchParams(url.search);

console.log(url.search);
console.log(params);

//添加第二个foo搜索参数。
params.append('foo', 4);
params.toString();
console.log(params); // 返回的是一个URLSearchParams对象
// 'foo=1&bar=2&foo=4'

在这里插入图片描述通过new URL()得到的url对象有以下属性:
在这里插入图片描述
以下来自node.js 官方文档的说明:

在这里插入图片描述

### 微信小程序 `request:fail url not in domain list` 错误分析 #### 原因解析 当微信小程序发起网络请求时,如果目标URL不在合法域名列表内,则会触发此错误。具体表现为 `{errno: 600002, errMsg: "request:fail url not in domain list"}` 的提示信息[^1]。 #### 解决方案汇总 ##### 清除缓存并重启调试环境 对于本地IP地址测试场景,在确保已勾选“不校验合法域名”的前提下,仍需执行如下操作来解决问题: - 彻底卸载手机上的所有版本(包括但不限于线上版、开发版以及体验版) - 完成上述清理工作后再重新进入真机调试模式 ##### 添加重定向后的最终访问域名为合法项 部分情况下可能存在HTTP跳转机制导致实际请求到达不同于初始设定的目标站点;此时除了原始指定外还需额外补充可能涉及的所有中间环节所指向的新位置至白名单之中[^2] ##### 检查项目配置同步状态 有时即使已经在微信公众平台完成了相应设置更新但由于某些因素造成前端读取不到最新数据从而引发异常状况。因此建议先核查IDE内部是否存在未及时加载的情况——通过页面顶部菜单栏中的【详情】选项卡查看当前生效的参数表单,并适当采取刷新措施促使二者保持一致[^3] ##### 替换为官方推荐或经过验证有效的API接口地址 针对特定功能集成过程中遇到难以克服的技术难题可以考虑采用其他更为稳定可靠的第三方服务提供商所提供的替代方案作为临时过渡手段直至原生支持完善为止。例如将自定义RESTful API替换为https://api.next.bspapp.com形式的服务端点可能会带来意想不到的效果[^4] ##### 对于特定服务商如高德地图API特别处理 如果是调用像高德这样的外部地理信息服务商的数据资源,请务必按照其官方指导完成必要的注册流程并将获得授权后的完整链接加入到允许范围内。比如为了实现驾车路径规划查询就需要把<https://restapi.amap.com>设为可信任源之一[^5] ```python # Python伪代码示例用于说明如何动态调整合法域名清单 def update_valid_domains(new_domain): config = get_current_config() valid_domains = config.get('validDomains', []) if new_domain not in valid_domains: valid_domains.append(new_domain) save_updated_config({'validDomains': valid_domains}) update_valid_domains('https://example.com') # 实际应用中应替换成具体的待添加网址 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值