私は、ローカルホスト上で動作するExpressアプリケーションで非常に簡単な「POST」APIサインアウトコールを複製しようとしています。これは、サインアウト情報を取得し、それがどのように見えるべきかMY-SERVERrequest.post(Express.js)経由のPOSTカスタムヘッダー
にローカルホストからそれを渡す必要があります。個別のルートファイルに設定され、
curl "http://MY-SERVER/api/2.2/auth/signout" -X POST -H "Auth:1245"
私はrequest.postを使用しています「signout.jsを」 (下記参照)。私はそれが動作するはず伝えることができ、まだ私は
curl https://localhost:8080/api/auth/signout?auth=12345 --cacert /etc/nginx/ssl/server.crt
を実行したときにそれが唯一の
任意のアイデア "/ API /認証/サインアウト?AUTH = 12345を取得することはできません" を返すものと
var express = require('express');
var request = require('request');
var cheerio = require('cheerio');
var router = express.Router();
var OnlineApiUrl = 'https://MY-SERVER/api/2.2/';
//Sign Out
router.post('/auth/signout', function(req, res) {
var authentication_token = req.query.auth_token;
request.post({
url: OnlineApiUrl + 'auth/signout',
headers: {
'Auth': authentication_token
}
}, function(err, response, body) {
var $ = cheerio.load(body);
var hasError = $('error').length;
if (hasError) {
response = {
http_code: $('error').attr('code'),
http_message: $('summary').text()
};
} else {
response = {
http_code: 204
};
}
return res.json(response);
});
});
module.exports = router;
ここで私は何が欠けているのですか?そのカスタムヘッダーだけを渡す必要があります。私はまた、POSTリクエストのために "Can not GET"を与えている理由もわかりません。
サーバはどのようにPOSTリクエストを処理しますか?また、価値があるhttp://stackoverflow.com/questions/611906/http-post-with-url-query-parameters-good-idea-or-not – br3w5
サーバーはbodyParserを使用します:app.use(bodyParser.urlencoded({extended :true}));率直に言って、ヘッダーに「Content-type」や「Content-length:0」などが必要かもしれないと思っていますか?それはそれかもしれませんか? –