Javascript 如何将curl命令转换为node.js

Javascript 如何将curl命令转换为node.js,javascript,node.js,Javascript,Node.js,我有下面的curl命令。bash中的Curl可以正常工作,但当我在node.js(任何http库)中编写等效代码时,它似乎不起作用 curl --location --request POST 'https://www.delta.com/shop/modals/flightspecific' \ --header 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, lik

我有下面的curl命令。bash中的Curl可以正常工作,但当我在node.js(任何http库)中编写等效代码时,它似乎不起作用

curl --location --request POST 'https://www.delta.com/shop/modals/flightspecific' \
--header 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36' \
--header 'Content-Type: application/json; charset=UTF-8' \
--header 'cachekey: d6469dbe-b47e-4f46-be02-12b900011c7c' \
--header 'Accept-Encoding: compressed' \
--data-raw '{"legList":[{"originAirportCode":"BOS","destinationAirportCode":"JFK","schedLocalDepartDate":"2020-03-10T08:30","marketingAirlineCode":"DL","operatingAirlineCode":"9E","classOfServiceList":["NE","NV","SN","OZ"],"flightNumber":"5419"}],"pageId":"dynamic-modal","appId":"sho","channelId":"ecomm"}'
工作正常(返回JSON)。但是这个代码不起作用


const axios = require("axios");

headers = {
  "user-agent":
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36",
  "Content-Type": "application/json; charset=UTF-8",
  cachekey: "d6469dbe-b47e-4f46-be02-12b900011c7c",
  "Accept-Encoding": "compressed"
};

data =
  '{"legList":[{"originAirportCode":"BOS","destinationAirportCode":"JFK","schedLocalDepartDate":"2020-03-10T08:30","marketingAirlineCode":"DL","operatingAirlineCode":"9E","classOfServiceList":["NE","NV","SN","OZ"],"flightNumber":"5419"}],"pageId":"dynamic-modal","appId":"sho","channelId":"ecomm"}';

url = "https://www.delta.com/shop/modals/flightspecific";

options = {
  method: "POST",
  headers: headers,
  data: data,
  url: url
};

axios(options).then(function(response) {
  console.log(response);
});

试着这样做:

var Request = require("request");
 var headers = {
           "user-agent":
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36",
  "Content-Type": "application/json; charset=UTF-8",
  cachekey: "d6469dbe-b47e-4f46-be02-12b900011c7c",
  "Accept-Encoding": "compressed"
        };
data =
  '{"legList":[{"originAirportCode":"BOS","destinationAirportCode":"JFK","schedLocalDepartDate":"2020-03-10T08:30","marketingAirlineCode":"DL","operatingAirlineCode":"9E","classOfServiceList":["NE","NV","SN","OZ"],"flightNumber":"5419"}],"pageId":"dynamic-modal","appId":"sho","channelId":"ecomm"}';

        Request.post({
            "headers": headers,
            "url": "https://www.delta.com/shop/modals/flightspecific",
            "body": JSON.stringify(data )
        }, (error, response, body) => {
            if (error) {
                console.dir(error);
            }
            if (body) {
              console.dir(JSON.parse(body));
           }

        });

您是否尝试过将
数据
作为JS对象而不是字符串
JSON.parse(data)
Yes,尝试过,运气不好