我正在尝试使用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)
提前致谢
答案 0 :(得分:1)
在你的python示例中,您发送了有效负载{"email" : "email", "pass" : "pw"}
但是在您的JS代码中,您的有效负载是:
{
"json": {
"email" : "user",
"pass" : "pw"
}
}
从json
对象中删除此creds
。
var creds = {
email : "user",
pass : "pw"
}