_http_client.js:155 throw new ERR_INVALID_PROTOCOL(protocol, expectedProtocol); ^ TypeError [ERR_INVALID_PROTOCOL]: Protocol "http:" not supported. Expected "https:"
时间: 2024-04-26 19:25:12 浏览: 279
这个错误是因为使用了`https`模块请求了HTTP协议的API,可以使用`http`模块来发送HTTP请求。
改用`http`模块发送GET请求的代码如下:
```javascript
const http = require('http');
http.get('http://localhost.manage.donotcall.com.cn/ZhouBaoApi/GetConditionMch?start_time=20230522&end_time=20230528', (resp) => {
let data = '';
// 接收到数据块时触发
resp.on('data', (chunk) => {
data += chunk;
});
// 接收完所有数据时触发
resp.on('end', () => {
console.log(JSON.parse(data));
});
}).on("error", (err) => {
console.log("Error: " + err.message);
});
```
需要注意的是,使用`http`模块时,请求的URL需要以`http://`或`https://`开头,否则会报错。
相关问题
internal/modules/cjs/loader.js:1089 throw new ERR_REQUIRE_ESM(filename, parentPath, packageJsonPath);
这是一个 Node.js 报错信息,通常是因为在一个 CommonJS 模块中尝试加载一个 ES6 模块导致的。Node.js 中,CommonJS 模块和 ES6 模块是有区别的,不能混用。如果你想加载一个 ES6 模块,你需要使用 import 语句,而不是 require。如果你需要加载一个 CommonJS 模块,你需要使用 require 语句。请检查你的代码,确认是否有这样的错误。
C:\Program Files\nodejs\node_modules\npm\lib\es6\validate-engines.js:31 throw err ^ TypeError: Minipass is not a constructor
这个错误是由于在C:\Program Files\nodejs\node_modules\npm\lib\es6\validate-engines.js文件的第31行中,尝试使用Minipass构造函数,但是Minipass不是一个构造函数而导致的。可能的原因是Minipass模块没有正确加载或者版本不兼容。
为了解决这个问题,你可以尝试以下几个步骤:
1. 确保你的Node.js和npm版本是最新的,可以通过运行`node -v`命令来检查版本。
2. 检查你的项目的依赖项是否正确安装,可以尝试重新安装依赖项,可以使用`npm install`命令来重新安装项目的依赖项。
3. 如果你使用的是特定版本的Minipass模块,可以尝试升级或降级Minipass模块的版本,以解决可能的版本兼容性问题。
4. 如果以上步骤都没有解决问题,你可以尝试在npm官方论坛或者相关社区寻求帮助,提供更多详细的错误信息和环境信息,以便其他开发者能够更好地帮助你解决问题。
阅读全文