javascript - Node - npm-request 中的无效 uri 错误

标签 javascript node.js 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 包。

我已经设置了选项中的所有参数,并将第二个选项作为回调函数传递。

但我收到此错误。 “无效的 Uri”

我的问题是如何在 npm-request 中调用安全 https url

最佳答案

请求包还应该处理 HTTPS 请求。

尝试将选项中的关键 url 更改为 uri

附注我使用 Node 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();

关于javascript - Node - npm-request 中的无效 uri 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33473299/

相关文章:

javascript - 图表不遵守宽度和高度属性

javascript - 如何使用 python 或 javascript 在 <canvas> 元素中抓取数据?

eclipse - 使用 eclipse 调试 Node 应用程序

javascript - 检查 Socket.IO 中特定房间中存储的客户端数据

node.js - 为什么我的 Nginx 反向代理 node.js+express 服务器重定向到 0.0.0.0?

node.js - 使用 Node npm 请求进行网页抓取

javascript - 从 NodeJS 重复调用 Rest Endpoint

javascript - 页面加载时 JavaScript/HTML div 折叠?

javascript - &lt;script&gt; 标签元素不适用于 Angular 2 CLI 创建的应用程序