使用请求库+ nodeJS向API运行请求的问题

时间:2017-05-14 18:46:47

标签: node.js rest node-modules

我正在尝试使用NodeJS和请求库运行API请求。

var creds = {
    json: {
        email : "user",
        pass : "pw"
    }
}

var urlPost = "https://api.domain.rocks/auth.php"
request({
        url : urlPost,
        method : 'POST',
        json : true,
        body : creds
    },
    function(error, response, body) {
        console.log(response.body)
    }
)

我收到错误消息,指示creds json对象中的参数未正确发送(“错误的电子邮件”)。我已经尝试了所有奇怪的url编码组合,查询字符串包...

我在Python中测试过,这是一种我更熟悉的语言,它使用Python 2.7和请求库在那里工作。这为我提供了我需要的身份验证令牌。

payload = {"email" : "email", "pass" : "pw"}
r = requests.post('https://api.domain.rocks/auth.php', data=payload)
rparsed = json.loads(r.text)

提前致谢

1 个答案:

答案 0 :(得分:1)

在你的python示例中,您发送了有效负载{"email" : "email", "pass" : "pw"}

但是在您的JS代码中,您的有效负载是:

{
    "json": {
        "email" : "user",
        "pass" : "pw"
    }
}

json对象中删除此creds

var creds = {
    email : "user",
    pass : "pw"
}