Разница в ответах на локальном сервере и сервере EC2 при попадании запроса в nodejs - PullRequest
0 голосов
/ 07 ноября 2019

Хорошо, поэтому я ничего не получил от моего последнего ТАКОГО вопроса Может быть, я не был настолько ясен в деталях, с которыми сталкиваюсь, поэтому надеюсь, что на этот раз я найду решение для моей проблемы:

var request = require("request");
var options = { method: 'GET',
  url: 'https://shop.advanceautoparts.com/web/AAPStoresWithAvailableInventoryCmd',
  qs: 
   { quantity: '1',
     partNumber: '2130015-P',
     storeId: '10151',
     catalogId: '10051',
     langId: '-1',
     loadStoresComponent: 'true',
     latitude: '',
     longitude: '',
     prefStoreNickName: '8511' },
  headers: 
   { accept: 'application/json, text/plain, /',
     'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.87 Safari/537.36',
     'accept-language': 'en-GB,en-US;q=0.9,en;q=0.8',
     origin: 'https://shop.advanceautoparts.com' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Я получаю точные данные о том, что мне нужно, когда я пробую это в местном ENV. НО, когда тот же код выполняется на моем сервере EC2, я получаю неловкий ответ от кода выше.

ОТВЕТ НА МЕСТНО *

{
"loadStoresComponent": ["true"],
"langId": ["-1"],
"quantity": ["1"],
"prefStoreNickName": ["8511"],
"latitude": [""],
"longitude": [""],
"authToken": "-1002%2C3a0VN%2Bt240MbliDjfWLSDJxolLA%3D",
"catalogId": ["10051"],
"DM_PersistentCookieCreated": ["true"],
"partNumber": ["2130015-P"],
"storeId": ["10151"],
"Result": {
"view": "availableStoresList",
"storesListMap": [
{
"inStock": true,
"state": "NC",
"isPrefStore": false,
"distance": 0,
"storeBrand": "AAP",
"city": "MATTHEWS",
"latitude": "35.137527",
"address1": "9507 INDEPENDENCE BLVD.",
"zipCode": "281050000",
"nickName": "8511",
"phone": "704-845-5004",
"longitude": "-80.715079"
},
{
"inStock": true,
"state": "NC",
"isPrefStore": false,
"distance": 4,
.....
.....
}

ОТВЕТAT SERVER

<div class="pagewidth">
  <div class="logo">&nbsp;</div>
  <div id="tagline">&nbsp;</div>
  <div class="clear">&nbsp;</div>
  <div class="header">&nbsp;</div>
  <div class="content">
    <p class="heading">We're offline for a tune-up, we'll be up and  running smoothly very soon. </p>
    <p class="heading">In the meantime, here are some other options available:</p>
    <div class="section group">
      <div class="col span_1_of_4"> Visit an <br />
        <strong>Advance Auto Parts store</strong><br />
        <a href="http://stores.advanceautoparts.com/"><img src="/MaintPage/images/DM150205_maintenance_page_07.png" width="200" height="125" border="0" /></a> </div>
      <div class="col span_3_of_4"> Sign up for <br />
        <strong>SpeedPerks Rewards</strong><br />
        <a href="http://www.speedperks.com"><img src="/MaintPage/images/sp-logo.png" width="204" height="100" border="0" style="margin-top:20px;" /></a> </div>
      <div class="col span_4_of_4"> View us on Social Media <strong><br />
        Facebook/Twitter/Blog</strong><br />
        <a href="https://www.facebook.com/advanceautoparts"><img src="/MaintPage/images/DM150205_maintenance_page_12.png" width="110" height="125" border="0" /></a><a href="https://twitter.com/AdvanceAuto"><img src="/MaintPage/images/DM150205_maintenance_page_16.png" width="92" height="125" border="0" /></a><a href="http://blog.advanceautoparts.com/"><img src="/MaintPage/images/button-m.png" width="90" height="125" border="0" style="margin-left:0px;" /></a> </div>
    </div>
    <div class="clear">&nbsp;</div>
    <p class="heading">We appreciate your patience – on your next visit, <strong>use coupon code PS20 for 20% off your purchase. </strong></p>
    <p class="coupon"><img src="/MaintPage/images/DM150205_maintenance_page_21.png" width="354" height="134" /></p>
    <p style="margin:30px; text-align:center;">We look forward to serving you,<br />
      The Advance Team</p>
    <p style="margin:30px; text-align:center;">&nbsp;</p>
  </div>
</div>

По сути, это автономная страница (без вставки всего тела HTML и CSS), из-за которой я чувствую, что они отказываются возвращать ответ на мой запрос.

Я также пытался добавить x-forwarded-for в свой звонок, но безуспешно. И я получаю точный ответ, добавляя x-forwarded-for в рельсы, но я предполагаю, что могут быть некоторые дополнительные заголовки или что-то еще, что мне нужно добавить в моем запросе, чтобы получить желаемый результат.

Любые мысли о моемвопрос

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...