【问题标题】:HTTP Post request with credentials and form in nodejs在nodejs中带有凭据和表单的HTTP Post请求
【发布时间】:2018-06-23 11:21:17
【问题描述】:

我想使用凭据(用户名、密码)和内容向服务器发出 HTTP POST 请求。

更具体地说,我使用了各种方法都没有成功。其中之一是:

var request = require('request');

request({
        url: 'https://path',
        method: 'POST',
        auth: {
               user: 'username',
               pass: 'password'
        },
        form: {
               'grant_type': 'client_credentials',
               'text' : 'input-text',
               'features': {
                      'score': true,
               }
        }
}, function(err, res) {
       console.log(res);
       var json = JSON.parse(res.body);
       console.log("Access Token:", json.access_token);
});

你有什么建议吗?

【问题讨论】:

  • 这完全取决于您发布到的服务器的 API。他们是否使用基本身份验证?您是否正在向某种登录函数发出 POST 请求,该函数将按照回调的建议返回 JSON 令牌?如果是上游服务器,您需要查看他们的文档并了解他们的要求。
  • 对你的两个问题都同意
  • 好的,那么他们的文档说要做什么?
  • 例如,在上面代码的“form”块中,有我上面包含的“text”/“score”。但是,我无法得到回应。
  • 您能提供他们文档的链接吗?就目前情况而言,您没有提供足够的信息来帮助任何人。

标签: json node.js http object request


【解决方案1】:

我觉得使用 Promise 更舒服。 request-promise documentation

var request = require('request-promise');

var options = {
    method: 'POST',
    url: '',
    auth: {
        user: '',
        password: ''
    }, 
    headers: {
        '': '' 
    },

    json: true
}

return request(options)
.then(function (response) {
   // manipulate response
}).catch(function (err) {
    return err
})

【讨论】:

    猜你喜欢
    • 2017-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多