node.js - 这个 curl 命令的 nodejs 代码是什么
问题描述
我可以从 Unix shell 脚本成功执行此 curl 命令,并且可以在 C:\Users\OutputFile.csv 中看到输出。NodeJS中的等效代码是什么
curl -k -v --user 'helloworld:hello_password'
--header 'Accept: application/vnd.myDMS-dms-api+json; version=1'
-X POST 'https://DMS.com:3001/download/csv'
--data header=true -o C:\Users\OutputFile.csv
我尝试使用 Online curl 到 nodeJS 转换器,它生成了以下 NodeJs 代码:-
var request = require('request');
var headers = {
'Accept': 'application/vnd.myDMS-dms-api+json; version=1'
};
var options = {
url: 'https://DMS.com:3001/download/csv',
method: 'POST',
headers: headers,
auth: {
'user': 'helloworld',
'pass': 'hello_password'
}
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
但是,当我运行此 NodeJS 代码时,它不会显示任何输出。另外我怎样才能得到这个输出到 C:\Users\OutputFile.csv
解决方案
也许在脚本终止之前没有返回响应。您希望请求是异步的:
您可以使用请求承诺
这是一个例子
var rp = require('request-promise');
function someFunction() {
let options = {
url: `someURL`,
method: 'POST',
body: {
some: 'payload'
},
json: true
};
return rp(options);
}
这将等待响应。
推荐阅读
- python - 我应该在 keras 中使用什么损失函数和度量来进行多标签分类?
- java - 无法在 Android Studio 中读取 JSON
- c++ - ESP32 尝试重新连接到网络断开时没有停止循环(Arduino)
- python - 使用 AES-GCM 加密不适合 RAM 的大文件
- python - 堆叠布局导致对齐顶部问题
- google-bigquery - bigquery 预订是自动的吗?
- c# - 如何在静态类中绑定属性?
- reactjs - 我的反应钩子在我的反应组件中使用时失败,该组件深深嵌入到我的反应应用程序中
- node.js - 程序在继续流程之前不等待异步功能
- java - 不可变 @Value.Immutable 公共最终字段(而不是 getter)