node.js - HTTP 模块请求模块翻译

标签 node.js api

如何重写此node.js代码,仅使用request模块而不是http模块?

var options = {
    url: 'https://dnxr7vm27d.execute-api.us-east-1.amazonaws.com/prod/GetRewardInfo',
    method: 'POST',
    headers: {
        'Content-Type': 'application/json',
        'x-api-key': 'kE2xi2OgUa7jfijmsd0jQ74aJntJwUEW2EU8LUsi'
    }
};
var req = http.request(options, function(res) {
    console.log('Status:' + res.statusCode);
    console.log('Headers: ' + JSON.stringify(res.headers));
    res.on('data', function(body) {
        console.log('Body:' + body);
    });
});

req.write('{"x-api-key":"12345", "Content-Type":"application/json", "appId":"DEMO1","momentId":"GAME_COMPLETE","deviceType":'
    Android ','
    campaignId ':"DEMOCAMP1","rewardGroupId":"amz1yprime"}');
req.end();

我已经完成了一部分:

const request = require('request');
const data = JSON.stringify({
  "appId": "DEMO1",
  "momentId": "GAME_COMPLETE",
  "deviceType": 'Android ',
  'campaignId ': "DEMOCAMP1",
  "rewardGroupId": "amz1yprime"
}) 
const options = {  
    url: 'https://dnxr7vm27d.execute-api.us-east-1.amazonaws.com/prod/GetReward',
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'x-api-key': 'kE2xi2OgUa7jfijmsd0jQ74aJntJwUEW2EU8LUsi'
  }, 
};

request.post(options, function(err, res, body) {  
    console.log(body);
});

但我不知道如何发送“数据”以及如何获得对请求的响应

最佳答案

重写并不剧烈。这只是一些简单的改变。

const request = require('request')

var options = {
  url: 'https://dnxr7vm27d.execute-api.us-east-1.amazonaws.com/prod/GetRewardInfo',
  method: 'POST',
  headers: {
    'Content-Type': 'application/json; charset=UTF-8',
    'x-api-key': 'kE2xi2OgUa7jfijmsd0jQ74aJntJwUEW2EU8LUsi'
  },
  body: {
    'appId': 'DEMO1',
    'momentId':'GAME_COMPLETE',
    'deviceType' : 'Android',
    'campaignId' : 'DEMOCAMP1',
    'rewardGroupId': 'amz1yprime'
  },
  json: true // sets body to JSON representation of value 
};

request.post(options, (err, httpResponse, body) => {
  if (err) console.error(err);
  // httpResponse contains the full response object, httpResponse.statusCode etc
  else console.log(body);
})

关于node.js - HTTP 模块请求模块翻译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55814332/

相关文章:

javascript - API 是否永久存储从网站提取的数据?

node.js - 我在哪里可以看到 hubot 记录器消息?

javascript - javascript中的嵌套MongoDB查询

python - 尝试使用 nodejs lib gpIO 控制移位寄存器在树莓派上不起作用

android - 在 Android 上使用 Chrome 和在端口 443 (https) 上运行的 Nodejs (expressjs) 时获取通知警告证书

rest - Swagger grails整合

api - YouTube 实时聊天嵌入无法在移动设备上运行

php - 拉维尔智威汤逊 : generated tokens on the localhost are valid on the server

rest - 设计一个 RESTful api,用于一次创建资源及其相关资源

node.js - 直播视频必须使用什么协议(protocol)?