node.js - nodejs检查url是否遵循有效格式
问题描述
我正在开发一个关于 freecodecamp 的项目,我认为它按预期工作,但我没有通过 1 次测试。
If you pass an invalid URL that doesn't follow the valid http://www.example.com format, the JSON response will contain { error: 'invalid url' }
这是我没有通过的测试。下面是我的代码
async function httpAddShortUrl(req, res) {
const input = req.body;
const isValid = await stringIsAValidUrl(input.url);
if (!isValid) {
return res.status(400).json({
error: 'invalid url'
})
}
return res.status(200).json(addNewUrl(input.url));}
async function stringIsAValidUrl(url) {
let hostname = '';
try {
hostname = new URL(url).hostname;
}
catch (err) {
return false;
}
try {
return await dns.lookup(hostname);
}
catch (err) {
return false;
}
}
另外,我需要提到在stringIsAValidUrl
函数内部我使用的是 dns promise。
解决方案
我的代码不起作用的问题来自状态代码。我从响应中删除了状态代码,现在它可以工作了。谢谢大家试图帮助我。
推荐阅读
- python - 使用 Matplotlib 中的 Polar Histogram 显示实时 MQTT 数据
- r - 如何绘制R中这些列的物种丰富度与海拔高度?
- cmake - CMake:使用 ExternalProject_Add 不同库路径的最佳实践
- html - rails 祖先组表视图
- javascript - 使用 replace() 删除多个方括号 - javascript
- html - 不能内联显示两个项目,因为一个在“for”循环中,另一个在“if”语句中
- javascript - 如果选择值为空,我可以神奇地使选择器不起作用吗?
- selenium - Selenium 对特定页面返回空白,但适用于其他页面
- python - 如何将多个列表的列表转换为字典?
- javascript - 如何播放 youtube 嵌入视频的多个部分