什么是Node.js中的邮递员“拦截模式”?

Cra*_*hax 5 https http node.js postman

我曾经使用Postman Interceptor(https://chrome.google.com/webstore/detail/postman-interceptor/aicmkgpgakddgnaphhhpliifpcfhicfo?hl=zh-CN)发送请求。这是我处理请求的标头和正文的方式:

在此处输入图片说明 在此处输入图片说明

您可以自己尝试。您可以看到,一旦打开“拦截模式”,您将获得与“不使用”不同的响应。

现在,我想发送相同的请求,但是要使用Node.js中的“ https”模块。

我遵循以下模式:

var https = require('https');
var querystring = require('querystring');

var post_data = querystring.stringify({
   hid_last: "SMITH",
   hid_first: "JOHN",
   __RequestVerificationToken: "EiO369xBXRY9sHV/x26RNwlMzWjM9sR/mNlO9p9tor0PcY0j3dRItKH8XeljXmTfFWT0vQ1DYBzlGpLtnBBqEcOB51E9lh6wrEQbtMLUNOXpKKR3RzFqGc9inDP+OBIyD7s9fh9aMAypCHFCNFatUkx666nf7NOMHHKfiJKhfxc=",
   hid_max_rows: 20,
   hid_page: 1,
   hid_SearchType: 'PARTYNAME'
});

// An object of options to indicate where to post to
var post_options = {
   host: 'a836-acris.nyc.gov',
   path: '/DS/DocumentSearch/PartyNameResult',
   method: 'POST',
   headers: {
      'Content-Type': 'application/x-www-form-urlencoded',
      'Origin': 'https://a836-acris.nyc.gov',
      'Referer': "https://a836-acris.nyc.gov/DS/DocumentSearch/PartyName",
      'Upgrade-Insecure-Requests': 1,
      'User-Agent': "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36",
      'Content-Length': Buffer.byteLength(post_data),
      'Cookie': '_ga=GA1.2.1526584332.1483281720; WT_FPC=id=2fb6833e-6ae6-4529-b84a-4a1c61f24978:lv=1483256520738:ss=1483256520738',

   }
};

// Set up the request
var post_req = https.request(post_options, function(res) {
   res.setEncoding('utf8');
   res.on('data', function (chunk) {
       console.log('Response: ' + chunk);
   });
});

// post the data
post_req.write(post_data);
post_req.end();
Run Code Online (Sandbox Code Playgroud)

唯一缺少的是“拦截器”问题。现在使用此代码时,得到的响应与在Postman中不使用“拦截器”模式时获得的响应相同。

我的问题是如何将Postman中的“拦截器模式”“转换”为node.js中的“ https”模块?