Node.js 使用请求库+nodeJS向API发出运行请求

Node.js 使用请求库+nodeJS向API发出运行请求,node.js,rest,node-modules,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 :

我正在尝试使用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进行了测试,这是一种我比较熟悉的语言,它使用Python2.7和请求库在那里工作。这给了我身份验证令牌,这正是我所需要的

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

提前感谢

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

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

{
    "json": {
        "email" : "user",
        "pass" : "pw"
    }
}
从creds对象中删除此json


为什么不使用request.post?对不起,你是什么意思?这难道不等于像上面那样在请求中表达选项吗?
var creds = {
    email : "user",
    pass : "pw"
}