使用新的API - 如果有人关心/知道会员小鼠 - 并且在提出请求时遇到了“需要411长度”的响应。我正在使用下面的php函数成功调用API:
<?php
$inputParams = "apikey={{key}}&apisecret={{secret}}&";
$inputParams .= "email=ivan@email.com";
$apiCallUrl = "http://www.website.com/wp-content/plugins/membermouse/api/request.php?q=/getMember";
$ch = curl_init($apiCallUrl);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $inputParams);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
echo "RAW Response: ".$result."<br />";
$data = json_decode($result);
echo "<pre>";
var_dump($data);
echo "</pre>";
?>
但是我正在Node.js中构建我的应用程序,而我正在尝试使用Node的请求库进行比较调用。这是我到目前为止所拥有的。
var request = require('request');
var options = {
url: 'http://www.website.com/wp-content/plugins/membermouse/api/request.php',
json:true,
multipart: [
{
'content-type': 'application/json',
body: JSON.stringify({
'q': '/getMember',
'apikey': '{{key}}',
'apisecret':'{{secret}}',
'email':'ivan@email.com'
}),
}
],
headers: {
'content-type': 'application/json',
'Connection': 'Keep-Alive',
}
};
function callback(error, response, body) {
console.log(response);
if (!error && response.statusCode == 200) {
console.log(response);
}
}
request.post(options, callback);
它拒绝让它通过具有411长度要求错误的nginx。任何人都知道发生了什么事吗?谢谢。
答案 0 :(得分:0)
经过几个小时的尝试后,选择了节点卷曲 - 尽管并不理想,因为它与操作系统操作相关,它确实提供了一种很好的方式来提取我需要的信息。对于任何有兴趣的人:
var curl = require('node-curl');
var inputParams = "apikey={{}}&apisecret={{}}&email=ivan@email.com";
var apiCallUrl = "http://www.website.com/wp-content/plugins/membermouse/api/request.php?q=/getMember";
var options = {
'POST':1,
'POSTFIELDS':inputParams,
'HEADER':0,
}
curl(apiCallUrl, options, function(error, body) {
console.log(JSON.parse(body.body)['response_data']);
});