节点 - npm-request 中的无效 uri 错误
node - Invalid uri error in npm-request
var request = require('request');
var options = {
url: 'https://connect1on1.com/api/web/index.php/v1/message/save-message',
method:'POST',
body:JSON.stringify({"id": data.user_id, "message": data.message}),
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': data.length,
'Access-Token': data.access_token
}
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(error);
// var info = JSON.parse(response);
}
}
request(options, callback);
我已经为 api 调用添加了 npm-request 包。
我已经在选项中设置了所有参数并将第二个选项作为回调函数传递。
但是我收到了这个错误。
"Invalid Uri"
我的问题是如何在 npm-request
中调用安全 https url
请求包还应处理 HTTPS 请求。
尝试将选项中的键 url
更改为 uri
P.S。我使用节点 HTTPS 库,它可以工作,也许也可以考虑使用它。
这是一个前任。在 EcmaScript 2015 中使用 NodeJS HTTPS 库:
let https = require(`https`);
let postData = new Buffer(JSON.stringify({"id": data.user_id, "message": data.message}));
let options = {
hostname: "www.connect1on1.com",
path: "/api/web/index.php/v1/message/save-message",
method: "POST",
headers: {
"Content-Type": "application/json",
"Content-Length": postData.length,
"Access-Token": data.access_token
}
};
let req = https.request(options, (res) => {
if (res.statusCode !== 200) {
throw Error(`request statusCode is: ${res.statusCode}`);
}
res.setEncoding(`utf8`);
res.on(`data`, chunk => console.log(chunk));
});
req.on(`error`, (e) => {
throw Error(`problem with request: ${e.message}`);
});
req.write(postData);
req.end();
var request = require('request');
var options = {
url: 'https://connect1on1.com/api/web/index.php/v1/message/save-message',
method:'POST',
body:JSON.stringify({"id": data.user_id, "message": data.message}),
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': data.length,
'Access-Token': data.access_token
}
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(error);
// var info = JSON.parse(response);
}
}
request(options, callback);
我已经为 api 调用添加了 npm-request 包。
我已经在选项中设置了所有参数并将第二个选项作为回调函数传递。
但是我收到了这个错误。 "Invalid Uri"
我的问题是如何在 npm-request
中调用安全 https url请求包还应处理 HTTPS 请求。
尝试将选项中的键 url
更改为 uri
P.S。我使用节点 HTTPS 库,它可以工作,也许也可以考虑使用它。
这是一个前任。在 EcmaScript 2015 中使用 NodeJS HTTPS 库:
let https = require(`https`);
let postData = new Buffer(JSON.stringify({"id": data.user_id, "message": data.message}));
let options = {
hostname: "www.connect1on1.com",
path: "/api/web/index.php/v1/message/save-message",
method: "POST",
headers: {
"Content-Type": "application/json",
"Content-Length": postData.length,
"Access-Token": data.access_token
}
};
let req = https.request(options, (res) => {
if (res.statusCode !== 200) {
throw Error(`request statusCode is: ${res.statusCode}`);
}
res.setEncoding(`utf8`);
res.on(`data`, chunk => console.log(chunk));
});
req.on(`error`, (e) => {
throw Error(`problem with request: ${e.message}`);
});
req.write(postData);
req.end();